在CentOS 6.5 上安裝、配置MySQL 5.6

背景

根據(jù)客戶要求用系統(tǒng)自帶的yum命令來安裝MySQL 5.6,下面記錄一下整個安裝、配置過程。

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 或者其他任何版本,只能有一個是 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

啟動服務(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

貼上我目前運行的配置文件

 [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ù),推薦設(shè)置4個或8個 
 innodb_buffer_pool_instances = 4 
 #關(guān)鍵參數(shù),0代表大約每秒寫入到日志并同步到磁盤,數(shù)據(jù)庫故障會丟失1秒左右事務(wù)數(shù)據(jù)。1為每執(zhí)行一條SQL后寫入到日志并同步到磁盤,I/                                                             O開銷大,執(zhí)行完SQL要等待日志讀寫,效率低。2代表只把日志寫入到系統(tǒng)緩存區(qū),再每秒同步到磁盤,效率很高,如果服務(wù)器故障,才會丟失事務(wù)數(shù)據(jù)。對數(shù)據(jù)安全性要求不是很高的推薦設(shè)置2,性能高,修改后效果明顯。
 innodb_flush_log_at_trx_commit = 2   
 #默認(rèn)是共享表空間,共享表空間idbdata文件不斷增大,影響一定的I/O性能。推薦開啟獨立表空間模式,每個表的索引和數(shù)據(jù)都存在自己獨立的表空間中,可以實現(xiàn)單表在不同數(shù)據(jù)庫中移動。 
 innodb_file_per_table = ON 
 #日志緩沖區(qū)大小,由于日志最長每秒鐘刷新一次,所以一般不用超過16M 
 innodb_log_buffer_size = 8M    
    
 datadir=/data/mysql 
 socket=/tmp/mysql.sock 

 # 禁止MySQL對外部 連接進(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 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容