首页 > 其他 > 详细

Atlas结合MHA故障恢复

时间:2020-07-29 22:02:38      阅读:67      评论:0      收藏:0      [点我收藏+]

1.思路

1.找到新的主库
2.将新的主库从Atlas中配置下线
3.保存到配置文件

2.写脚本

[root@db03 ~]# vim switch_Atlas.sh 
#/bin/bash
#1.获取新的主库IP
new_master=`grep "as a new master" /service/mha/manager | tail -1 | awk -F ‘[ ,(]‘ ‘{print $2}‘`
#2.获取新的主库在Atlas中的ID
new_master_id=`mysql -uuser -ppwd -h127.0.0.1 -P 2345 -e "SELECT * FROM backends" | grep $new_master | awk ‘{print $1}‘`
#3.移除提升为主库的从库
mysql -uuser -ppwd -h127.0.0.1 -P 2345 -e "REMOVE BACKEND $new_master_id" &> /dev/null
#4.找到挂掉的主机
down_server=`grep "Master .* is down" /service/mha/manager | tail -1 | awk -F ‘[ ,(]‘ ‘{print $2}‘`
#5.远程连接执行恢复脚本
ssh $down_server "sh /root/start_mha.sh"  # 这个脚本在恢复MHA里面有写
#6.获取挂掉的主机的IP加端口
down_server_port=`grep "Master .* is down" /service/mha/manager | tail -1 | awk -F ‘[ ,()]‘ ‘{print $3}‘`
#7.添加down的主库为新的从库到Atlas
mysql -uuser -ppwd -h127.0.0.1 -P 2345 -e "add slave $down_server_port" &> /dev/null
#8.保存配置
mysql -uuser -ppwd -h127.0.0.1 -P 2345 -e "save config" &> /dev/null

Atlas结合MHA故障恢复

原文:https://www.cnblogs.com/Applogize/p/13399340.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!