AI智能
改变未来

mysql – 主从M-M(GTID)

流程:在主机上面打开binlog和设置server-id,打开gtid,然后授权一个账号的slave,client权限,在刷新授权表,然后将数据库数据备份下来,将备份数据拷贝到备机上
在备机,首先测试到到主机IO 是否通,再将备份数据导入,在通过change master设置主机的授权账号及密码,最后启动slave

主机1操作
#打开logbin
log-bin
#设置serverid
server-id=142
#打开gtid功能
gtid_mode=on
#强制数据一致性
enforce_gtid_consistency=1

授权:mysql> grant replication slave,replication client on . to ‘rep’@‘192.168.243.%’ identified by ‘Gy@123456’;
刷新授权:mysql> flush privileges;
备份数据:mysqldump -p’Gy@123456’ –all-databases –single-transaction –master-data=1 –flush-logs>

date +%F

-mysql-all.sql
拷贝给备机:[root@Server2 ~]# scp 2019-04-25-mysql-all.sql root@192.168.243.140:/root
change master设置主机的授权账号及密码
change master to master_host=‘master2’,master_user=‘rep’,master_password=‘Gy@123456’ ,master_auto_position=1;
start slave; 启动slave
show slave status\\G; 查看是否正常Slave_IO_Running: Yes和Slave_SQL_Running: Yes是否正常,Slave_IO_Running: Connecting可能是防火墙启动或selinux启动,如果Slave_SQL_Running: No,解决办法:第一步:stop slave;第二步:SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
第三步:start slave;

主机2操作:
#打开logbin
log-bin
#设置serverid
server-id=143
#打开gtid功能
gtid_mode=on
#强制数据一致性
enforce_gtid_consistency=1

1、测试到主机的I/O是否正常
mysql -hServer2(Server2主机的主机名) -urep(rep是主机的授权账号) -p’Gy@123456’(授权账号密码)
mysql> show grants; 查看授权
set sql_log_bin=0; 设置变量,恢复数据不记录binlog日志
source /root/2019-04-25-mysql-all.sql 恢复数据
change master设置主机的授权账号及密码
change master to master_host=‘master1’,master_user=‘rep’,master_password=‘Gy@123456’ ,master_auto_position=1;
start slave; 启动slave
show slave status\\G; 查看是否正常Slave_IO_Running: Yes和Slave_SQL_Running: Yes是否正常,如果Slave_SQL_Running: No,解决办法:第一步:stop slave;第二步:SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
第三步:start slave;

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » mysql – 主从M-M(GTID)