背景
根據(jù)客戶要求用系統(tǒng)自帶的yum命令來安裝MySQL 5.6刹淌,下面記錄一下整個(gè)安裝官还、配置過程芹橡。
CentOS 6.5 默認(rèn)yum只能安裝mysql 5.1
安裝前要檢查機(jī)器原來是否安裝過mysql,如有安裝需要先進(jìn)行數(shù)據(jù)備份望伦、清理林说。
[root@snails ~]# yum list installed | grep mysql
[root@snails ~]# ps -ef|grep mysql
[root@snails ~]# service mysqld stop
[root@snails ~]# rpm -e mysql-libs --nodeps
[root@snails ~]# yum -y remove mysql mysql-*
設(shè)置安裝源
[root@snails ~]# wget http://repo.mysql.com/mysql57-community-release-el6-8.noarch.rpm
[root@snails ~]# rpm -ivh mysql57-community-release-el6-8.noarch.rpm
[root@snails ~]# ls -1 /etc/yum.repos.d/mysql-community*
[root@snails ~]# yum repolist all | grep mysql
[root@snails ~]# vi /etc/yum.repos.d/mysql-community.repo
### 將[mysql56-community]的enabled設(shè)置為1,[mysql57-community]的enabled設(shè)置為0 ###
[root@snails ~]# yum repolist enabled | grep mysql
mysql-connectors-community MySQL Connectors Community 21
mysql-tools-community MySQL Tools Community 37
mysql56-community MySQL 5.6 Community Server 265
注意:
如果不使用5.7 或者其他任何版本,只能有一個(gè)是 enabled=1的屯伞,其他的都得enabled=0腿箩。
安裝MySQL
[root@snails ~]# yum -y install mysql-server mysql
修改默認(rèn)配置
[root@snails ~]# mkdir /data/mysql
[root@snails ~]# vi /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/tmp/mysql.sock
啟動(dòng)服務(wù)
[root@snails ~]# service mysqld start
檢查
[root@snails ~]# netstat -ano |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN off (0.00/0/0)
修改root密碼
[root@snails ~]# mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("GIVE-NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
貼上我目前運(yùn)行的配置文件
[client]
port=3306
socket=/tmp/mysql.sock
[mysql]
default-character-set=utf8
[mysqld]
user=mysql
character-set-server=utf8
explicit_defaults_for_timestamp=true
#索引和數(shù)據(jù)緩沖區(qū)大小,一般設(shè)置物理內(nèi)存的60%-70%
innodb_buffer_pool_size = 1G
#緩沖池實(shí)例個(gè)數(shù)劣摇,推薦設(shè)置4個(gè)或8個(gè)
innodb_buffer_pool_instances = 4
#關(guān)鍵參數(shù)珠移,0代表大約每秒寫入到日志并同步到磁盤,數(shù)據(jù)庫故障會(huì)丟失1秒左右事務(wù)數(shù)據(jù)末融。1為每執(zhí)行一條SQL后寫入到日志并同步到磁盤钧惧,I/ O開銷大,執(zhí)行完SQL要等待日志讀寫勾习,效率低浓瞪。2代表只把日志寫入到系統(tǒng)緩存區(qū),再每秒同步到磁盤巧婶,效率很高乾颁,如果服務(wù)器故障,才會(huì)丟失事務(wù)數(shù)據(jù)艺栈。對(duì)數(shù)據(jù)安全性要求不是很高的推薦設(shè)置2英岭,性能高,修改后效果明顯湿右。
innodb_flush_log_at_trx_commit = 2
#默認(rèn)是共享表空間诅妹,共享表空間idbdata文件不斷增大,影響一定的I/O性能毅人。推薦開啟獨(dú)立表空間模式漾唉,每個(gè)表的索引和數(shù)據(jù)都存在自己獨(dú)立的表空間中,可以實(shí)現(xiàn)單表在不同數(shù)據(jù)庫中移動(dòng)堰塌。
innodb_file_per_table = ON
#日志緩沖區(qū)大小,由于日志最長每秒鐘刷新一次分衫,所以一般不用超過16M
innodb_log_buffer_size = 8M
datadir=/data/mysql
socket=/tmp/mysql.sock
# 禁止MySQL對(duì)外部 連接進(jìn)行DNS解析
skip-name-resolve
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid