在centos 6.5上設置了mysql主從功能,記錄一下。 mysql
服務器1(主)
IP:192.168.1.201
系統版本:centos 6.5
mysql版本:mysql 5.5 sql
服務器2(從)
IP:192.168.1.202
系統版本:centos 6.5
mysql版本:mysql 5.5 centos
這裏兩臺服務器的系統版本和mysql版本均一致,這也是官方推薦的作法。在開始設定以前,最好能確保主庫和從庫一致。 服務器
一、主庫和從庫建立同步用戶 ide
mysql> grant replication slave, replication client on *.* to repl@'192.168.1.%' identified by '密碼';
這裏講主從同步限制在局域網內。 線程
二、主庫配置 調試
編輯mysql配置文件/etc/my.cnf,設定以下配置: code
log-bin=mysql-bin binlog_format=mixed server-id = 1
binlog_format這裏選用混合模式,也是mysql 5.5安裝包裏的my.cnf默認的值。 orm
三、從庫配置 server
編輯mysql配置文件/etc/my.cnf,設定以下配置:
log-bin=mysql-bin binlog_format=mixed server-id = 2 relay_log = /var/lib/mysql/mysql-relay-bin log_slave_updates = 1 read_only = 1
四、從庫啓動
mysql> change master to master_host='192.168.1.201', master_user='repl', master_password='100301', master_log_file='mysql-bin.000001', master_log_pos=0;
開啓同步
mysql> start slave;
查看狀態
mysql> show slave status\G
從庫查看複製狀態
若是配置全都正確的話,那麼主從就開始工做了。若是主從沒有正常工做的話,能夠經過mysql自帶的命令進行調試。
出錯調試
使用show slave status查看Last_IO_Error狀態信息:
mysql> show slave status\G
主從設置鏈接出錯
上面這種狀況表示沒法正常鏈接到主庫。由於沒法鏈接主庫,Slave_IO_State會一直顯示Connecting to master。能夠在從庫上經過mysql客戶端鏈接主庫進行調試。
$ mysql -h 主庫 -u repl -p
查看工做進程
主庫上查看進程:
mysql> show processlist\G
查看主庫線程
從State信息能夠看出主庫已經發送完全部的binlog
從庫上查看進程:
mysql> show processlist\G
查看從庫線程
其中一個是I/O線程,一個是SQL線程。