CentOS Linux下编译安装MySQL

本文参考张宴Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]完成。所有操作命令都在CentOS 6.4 64位操作系统下实践成功。

1、移除CentOS自带的mysql

yum remove mysql mysql-server compat-mysql51
rpm -e --nodeps mysql-libs-5.1.*

2、安装编译依赖包

yum -y install cmake
yum -y install bison

3、下载MySQL

cd /data0/software/
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz

4、编译安装MySQL

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar zxvf mysql-5.6.26.tar.gz
cd mysql-5.6.26
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_EXTRA_CHARSETS=complex -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=on -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DENABLED_THREAD_SAFE_CLIENT=on    -DWITH_EMBEDDED_SERVER=on    
make && make install
cd ../

①、以mysql用户帐号的身份建立数据表:

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
mkdir -p /usr/local/webserver/
rm -f /usr/local/webserver/mysql
ln -s /usr/local/mysql/ /usr/local/webserver/mysql
rm -f /usr/local/mysql/my.cnf
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

②、创建my.cnf配置文件

rm -f /etc/my.cnf
vi /etc/my.cnf

输入以下内容:

[client]
#character-set-server = utf8
port    = 3306
socket  = /tmp/mysql.sock

[mysqld]
character-set-server = utf8
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user    = mysql
#bind-address = 192.168.0.1
port    = 3306
socket  = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/local/mysql/data/mysql.pid
open_files_limit    = 10240
back_log = 600
max_connections = 5000
max_connect_errors = 6000
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 300
#thread_concurrency = 8
query_cache_size = 512M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 246M
max_heap_table_size = 246M
long_query_time = 3
log-slave-updates
log-bin=mysql-bin
binlog_cache_size = 4M
binlog_format = MIXED
expire_logs_days = 30
max_binlog_cache_size = 8M
max_binlog_size = 1G
#relay-log-index = /data0/mysql/3306/relaylog/relaylog
#relay-log-info-file = /data0/mysql/3306/relaylog/relaylog
#relay-log = /data0/mysql/3306/relaylog/relaylog
expire_logs_days = 30
key_buffer_size = 256M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover

interactive_timeout = 120
wait_timeout = 120

skip-name-resolve
#master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396

#master-host     =   192.168.1.2
#master-user     =   username
#master-password =   password
#master-port     =  3306

server-id = 1

#innodb_additional_mem_pool_size = 16M
#innodb_buffer_pool_size = 512M
#innodb_data_file_path = ibdata1:256M:autoextend
#innodb_file_io_threads = 4
#innodb_thread_concurrency = 8
#innodb_flush_log_at_trx_commit = 2
#innodb_log_buffer_size = 16M
#innodb_log_file_size = 128M
#innodb_log_files_in_group = 3
#innodb_max_dirty_pages_pct = 90
#innodb_lock_wait_timeout = 120
#innodb_file_per_table = 1


[mysqldump]
quick
max_allowed_packet = 32M

③、启动MySQL

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start

④、通过命令行登录管理MySQL服务器(提示输入密码时直接回车)

/usr/local/webserver/mysql/bin/mysql -uroot -p

⑤、输入以下SQL语句,设置root用户的密码

mysql> use mysql;
mysql> update user set Password = password('123456') where User='root'; 
mysql> flush privileges;
mysql> exit;

⑥、设置开机启动MySQL

chkconfig --add mysql
chkconfig mysql on

最后需要做的就是映射一个链接到/usr/bin目录下

ln -s /usr/local/mysql/bin/mysql /usr/bin

除非注明,本博客文章均为原创,转载请以链接形式标明本文地址

本文地址: http://blog.cnwyhx.com/centos-linux-install-mysql

原文地址:https://www.cnblogs.com/clarke/p/5700813.html