zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    epoll源码实现分析[整理]
    linux几种时间函数总结
    linux几种定时函数的使用
    linux下redis数据库的简单使用
    网络编程之非阻塞connect编写
    网络编程之select
    数码相框(LCD、I2C)
    centos tftp和samba的安装与配置
    libevent库简单使用
    c语言随机数
  • 原文地址:https://www.cnblogs.com/Applogize/p/13399340.html
Copyright © 2011-2022 走看看