将mysql主从复制由ABB模式修改为ABC模式
2024-09-07 13:05:55
最近遇到一个奇葩的需求,需要将mysql的主从复制模式由ABB修改为ABC,恰好这个mysql集群没有开启GTID,当时是在B上做了一次全量备份,然后使用该全量备份恢复C的方式进行的。做完之后在想有没有简单的方式实现,最终有了结果。
假设原主从复制拓扑为 A -- B1 -- B2,最终要求 B2作为 B1的从库存在:
对于非GTID模式的集群:
1. B2上执行 stop slave io_thread;
2. 确保 B1 上的数据要比 B2要接近主节点;
3. 在B1上执行stop slave io_thread; 待B1节点上的relay log应用完全之后
执行 show master status;命令得到B1节点当前binlog的点位信息 B1_log1 和 B1_pos1。
再执行 show slave status;命令通过 Master_Log_File 和 Read_Master_Log_Pos 得到当前相对于主节点的binlog的点位信息 A_log1 和 A_pos1。
而后执行 start slave io_thread;恢复 B1的复制状态。
4. 在 B2 上执行 start slave until master_log_file='${A_log1}',master_log_pos=A_pos1; 待A_log1 和 A_pos1该点位前的数据全部重放完成之后,将 B2按照 B1_log1 B1_pos1的点位作为 B1的从库挂在 B1上。
对于 GTID 模式的集群,因为 GTID在整个集群中都是一致的,直接挂载即可。
最新文章
- Jquery的事件操作和文档操作
- kvm常用操作
- 谁说JavaScript容易?
- js指定分隔符连接数组元素join()
- 2016 Multi-University Training Contest 4
- 终于搞定office 2013中文双引号无法匹配问题啦!!!
- Javascript单元测试之QUnit
- 在64位系统上不能安装Matlab notebook的解决方案
- Form1和Form2的交互
- mysql 数据库连接(远程和本地原理同样)
- 我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言
- 【LeetCode】Sum Root to Leaf Numbers
- PGA_AGGREGATE_TARGET 原理
- Windows在配置Python+tornado
- 对Git的一些理解
- web 开发中的路由是什么意思
- mvc 在弹出框中实现文件下载
- python 读取mysql数据至csv文件中,并发送邮件
- python ----元组方法以及修改细节
- C++中一些类和数据结构的大小的总结