MySQL一主多從開啟二進(jìn)制日志
配置主從MySQL配置文件my.cnf
主(3307)里面加入
log-bin=mysql-bin #表示啟用二進(jìn)制日志
server-id=3307 #表示server編號(hào),編號(hào)要唯一
從(3308)里面加入
server-id=3308 #表示server編號(hào),編號(hào)要唯一
從(3309)里面加入
server-id=3309 #表示server編號(hào),編號(hào)要唯一
從(3310)里面加入
server-id=3310 #表示server編號(hào),編號(hào)要唯一
進(jìn)入/usr/local/mysql-5.7.18/bin目錄,重啟四個(gè)MySQL服務(wù),啟動(dòng)時(shí)指定配置文件啟動(dòng):
./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一主多從設(shè)置主從關(guān)系
1、在主服務(wù)器上創(chuàng)建復(fù)制數(shù)據(jù)的賬號(hào)并授權(quán):
grant replication slave on *.* to 'copy'@'%' identified by '123456';
2、建議重置一下主服務(wù)狀態(tài),執(zhí)行命令:reset master;
3、在主服務(wù)器上執(zhí)行命令,獲取主服務(wù)器二進(jìn)制binlog文件名及坐標(biāo)(二進(jìn)制文件名和坐標(biāo)值在后面會(huì)用到):
show master status;
在從服務(wù)器上執(zhí)行命令,設(shè)置從服務(wù)器的master
4、重置一下從的狀態(tài):(在重置之前可以查看一下從的狀態(tài): 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、在從機(jī)器上執(zhí)行開始復(fù)制命令:start slave; (作用:?jiǎn)?dòng)IO線程和SQL線程)
檢查從服務(wù)器復(fù)制功能狀態(tài)
mysql> show slave status \G
Slave_IO_Running和Slave_SQL_Running為YES,就是正常狀態(tài)。
在主服務(wù)器上創(chuàng)建數(shù)據(jù)庫(kù)、表、數(shù)據(jù),然后在從服務(wù)器上查看是否已經(jīng)復(fù)制
以上操作過程顯示正常,則主從服務(wù)器配置完成;
查看主從復(fù)制binlog日志文件內(nèi)容:show binlog events in 'mysql-bin.000001';