MySQL一主多從開啟二進制日志
配置主從MySQL配置文件my.cnf
主(3307)里面加入
log-bin=mysql-bin #表示啟用二進制日志
server-id=3307 #表示server編號,編號要唯一
從(3308)里面加入
server-id=3308 #表示server編號,編號要唯一
從(3309)里面加入
server-id=3309 #表示server編號,編號要唯一
從(3310)里面加入
server-id=3310 #表示server編號,編號要唯一
進入/usr/local/mysql-5.7.18/bin目錄,重啟四個MySQL服務,啟動時指定配置文件啟動:
./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3307/my.cnf &
./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3308/my.cnf &
./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3309/my.cnf &
./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3310/my.cnf &
MySQL一主多從設置主從關系
1、在主服務器上創建復制數據的賬號并授權:
grant replication slave on *.* to 'copy'@'%' identified by '123456';
2、建議重置一下主服務狀態,執行命令:reset master;
3、在主服務器上執行命令,獲取主服務器二進制binlog文件名及坐標(二進制文件名和坐標值在后面會用到):
show master status;
在從服務器上執行命令,設置從服務器的master
4、重置一下從的狀態:(在重置之前可以查看一下從的狀態: show slave status)
stop slave;
reset slave;
5、change master to master_host='192.168.199.128',master_user='copy',
master_port=3307,master_password='123456',
master_log_file='mysql-bin.000001',master_log_pos=154;
6、在從機器上執行開始復制命令:start slave; (作用:啟動IO線程和SQL線程)
檢查從服務器復制功能狀態
mysql> show slave status \G
Slave_IO_Running和Slave_SQL_Running為YES,就是正常狀態。
在主服務器上創建數據庫、表、數據,然后在從服務器上查看是否已經復制
以上操作過程顯示正常,則主從服務器配置完成;
查看主從復制binlog日志文件內容:show binlog events in 'mysql-bin.000001';