码迷,mamicode.com
首页 > 数据库 > 详细

mysql 主从关系切换

时间:2015-08-12 19:53:51      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:mysql   thread   change   status   master   

需求如下图,需要把正常的一主俩从的架构与主的级联从互相切换

技术分享

这里用到了 start slave until 这个命令


首先从 左至右做转换调整,一主俩从转换成级联从,首先先stop slave左侧是从机,我们暂时称为s1 之后,之后我们需要操作右侧的从机 S2,这里最好使用脚本执行,保证不影响线上业务,执行语句如下


mysql -uroot -p"密码" -e "stop slave;"

 

mysql -uroot -p"密码" -e "show master status\G"> /home/liuminkun/master.info

 

mysql -uroot -p"密码" -e "show slave status\G"> /home/liuminkun/slave.info

 

 

mysql -uroot -p"密码" -e "start slave;"



这样我们在文本中就得到了,主机M的以及一台从机的binlog和pos信,同时确认了M的binlog文件与S2的binlog文件对应关系


这时我们需要在需要转换的级联从的S1上执行start slave until MASTER_LOG_FILE = ‘log_name‘, MASTER_LOG_POS = log_pos;  这里的binlog名称和log_pos使用刚才在文本里得到的slave status

信息,运行到该binlog文件的pos点时候 sql thread会自动停止且io thread会继续运行,此时只要change master to 刚才文本中的master status信息,之后即可start slave查看下s1的同步状态了。


反之亦然,这样的操作可以避免通过重做mysql来完成架构切换,而且也可以解决切换后的数据一致性问题。



本文出自 “云淡风轻” 博客,谢绝转载!

mysql 主从关系切换

标签:mysql   thread   change   status   master   

原文地址:http://liuminkun.blog.51cto.com/10171900/1684072

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!