1. 環境
作業系統:CentOS-7
MySQL:mysql-5.6
一台虛拟機又克隆了兩台192.168.102.31 master
192.168.102.56 slave
192.168.102.36 slave
啟動/停止
service mysqld start|stop|restart
systemctl start|stop|restart mysqld
本機的話,直接mysql就可以進去了
2. 主資料庫配置
第1步:編輯/etc/my.cnf檔案,在[mysqld]下增加如下兩行設定:
[mysqld]log-bin=mysql-bin # 非必需
server-id=1 # 必需

第2步:建立用于資料同步的賬戶
CREATE USER 'repl'@'192.168.102.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.102.%';
FLUSH PRIVILEGES;
第3步:檢視master狀态
show master status;
3. 從資料庫配置
第1步:編輯/etc/my.cnf檔案,設定server-id
[mysqld]server-id=2
第2步:執行同步語句,并啟動slave
change master to master_host='192.168.102.31', master_user='repl', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=514;
第3步:檢視slave狀态
show slave statusG;
另外一台從資料庫也是這樣設定
4. 驗證是否同步成功
在主資料上操作,從資料庫中檢視
5. 設定隻讀賬戶
mysql> create user 'pig'@'%' identified by '123456';
mysql> grant select>'pig'@'%';
mysql> flush privileges;
6. 參考
https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html
http://www.cnblogs.com/gl-developer/p/6170423.html
Mysql主從配置,實作讀寫分離 - Alvin_jstu - 部落格園
MySQL建立使用者與授權 - 七月逆流 - 部落格園
Slave_SQL_Running: No的解決辦法問題原因:
1、可能是主庫的表,在從庫中沒有找到。
解決方法:
1、先停止同步:mysql>stop slave;
2、使用指令:mysql>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
3、開啟同步:mysql>start slave;
4、使用指令:mysql>show slave statusG,檢視Slave_SQL_Running的值,如果不為Yes,則重複上述3步,直到為Yes