Atlas结合MHA故障恢复
Posted applogize
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Atlas结合MHA故障恢复相关的知识,希望对你有一定的参考价值。
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故障恢复的主要内容,如果未能解决你的问题,请参考以下文章