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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值