Docker中MySQL 主从切换

适用场景

MySQL主从切换流程,切换步骤主要针对主备正常切换以及主库宕机备库切换两个场景,掌握正确的切换流程,可以有效避免切换过程中可能出现的数据不一致问题以及提高整体切换的时间

主从环境:

主库备库
mysql-mastermysql-slave

场景一:

准备正常切换,此场景主要是针对在主备同步复制正常的情况下进行的主备切换,例如:灾备演练,计划性的主备切换。
切换步骤
1 切断应用对主库的流量
2 主库设置为只读

    set global read_only=ON;
    set global super_read_only=ON;

在这里插入图片描述

3 查看备库复制进程状态

show slave status\G

在这里插入图片描述
确认Slave_IO_Running,Slave_SQL_Running状态为YES,Seconds_Behind_Master为0
4.比对主备两边的GTID是否一致

获取主备两边的executed_gtid集合,进行比对

       select @@global.gtid_executed;

主库
在这里插入图片描述

从库
在这里插入图片描述
5 从库停掉复制进程并清空主从信息

stop slave;
reset slave all;

在这里插入图片描述

6 从库关闭只读开启读写,转为新主库

set global read_only=off;
set global super_read_only=off;

在这里插入图片描述 7 主库设置执行新主库的复制链路,转为新备库,完成主从切换
查询从机ip

docker inspect mysql-slave

在这里插入图片描述
在这里插入图片描述

CHANGE MASTER TO MASTER_HOST='172.17.0.3',MASTER_USER='root',MASTER_PORT=3306,MASTER_PASSWORD='123456' ;

start slave;
show slave status\G;

在这里插入图片描述

验证

新主库
在这里插入图片描述新从库
在这里插入图片描述

场景二

主库宕机备库切换为主库,这种情况主要是在异步模式或者非强一致半同步下,主库的异常宕机,可能存在数据没有完全同步到从库的情况,需要去核验追加数据。
参考下面连接
https://blog.csdn.net/sinat_36757755/article/details/124049382

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值