• MHA 日常管理


        MHA是众多使用MySQL数据库企业高可用的不二选择。它简单易用,功能强大。实现了基于MySQL replication架构的自己主动主从故障转移。本文主要描写叙述MHA的日常相关操作。同一时候给出了关于MHA的相关连接,供大家參考。


    一、MHA的主要脚本(perl)
    1.manager端
    masterha_check_ssh              检查MHA的SSH配置状况
    masterha_check_repl             检查MySQL复制状况
    masterha_manger                 启动MHA
    masterha_check_status           检測当前MHA执行状态
    masterha_master_monitor         检測master是否宕机
    masterha_master_switch          控制故障转移(自己主动或者手动)
    masterha_conf_host              加入或删除配置的server信息


    2.node端
    save_binary_logs                保存和复制master的二进制日志
    apply_diff_relay_logs           识别差异的中继日志事件并将其差异的事件应用于其它的slave
    filter_mysqlbinlog              去除不必要的ROLLBACK事件(MHA已不再使用这个工具)
    purge_relay_logs                清除中继日志(不会堵塞SQL线程)


    二、日常操作
    1.校验ssh等效验证
    $ masterha_check_ssh --conf=/etc/masterha/app1.cnf


    2.校验mysql复制
    $ masterha_check_repl --conf=/etc/masterha/app1.cnf


    3.启动mha监控,在master故障时开启自己主动转移
    $ nohup masterha_manager --conf=/etc/masterha/app1.cnf > /tmp/mha_manager.log  < /dev/null 2>&1 &

    ###当有slave节点宕掉的情况是启动不了的,加上--ignore_fail_on_start即使有节点宕掉也能启动mha
    $ nohup masterha_manager --conf=/etc/masterha/app1.cnf  --ignore_fail_on_start > /tmp/mha_manager.log  < /dev/null 2>&1 &


    4.检查启动的状态
    $ masterha_check_status --conf=/etc/masterha/app1.cnf


    5.停止mha
    $ masterha_stop  --conf=/etc/masterha/app1.cnf


    6.多次failover
    MHA在每次failover切换后会在管理文件夹生成文件app1.failover.complete ,下次在切换的时候假设因为间隔时间太短导致切换不成功。应手动清理掉。
    rm -rf /var/log/masterha/app1/app1.failover.complete
    或者通过加上參数--ignore_last_failover来忽略


    7.手工failover
    手工failover场景。适用于在master死掉,而masterha_manager未开启情形。例如以下,指定--master_state=dead
    masterha_master_switch --conf=/etc/masterha/app1.cnf --dead_master_host=192.168.1.6 --master_state=dead --new_master_host=192.168.1.7
    --ignore_last_failover


    8.手动在线切换,例如以下,指定--master_state=alive
    masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=192.168.1.6 --orig_master_is_new_slave

    masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=192.168.1.6 --orig_master_is_new_slave
    --running_updates_limit=10000

    --orig_master_is_new_slave
      表明在切换时原master变为新master的slave节点
      
    --running_updates_limit=10000
      切换时候选master假设有延迟的话,mha切换不能成功,加上此參数表示延迟在此时间范围内都可切换(单位为s),
      可是切换的时间长短是由recover时relay日志的大小决定

    其它注意事项
      手动在线切换mha,切换时须要将在执行的mha停掉后才干切换。
      在备库先执行DDL,一般先stop slave,一般不记录mysql日志,能够通过set SQL_LOG_BIN = 0实现。


      然后进行一次主备切换操作,再在原来的主库上执行DDL。这样的方法适用于增减索引,假设是添加字段就须要额外注意。


      能够通过例如以下命令停止mha:masterha_stop --conf=/etc/masterha/app1.cnf


    三、MHA相关參考
      MySQL MHA简单介绍及其长处
      MySQL MHA 典型使用场景
      MHA安装及等效性配置
      MHA 配置文件样本描写叙述
      MySQL MHA配置常见问题
      MHA masterha_check_repl 检測过程
      MHA VIP切换脚本
      MHA 自己主动故障转移步骤及过程剖析
      MHA 在线切换过程
      MHA 切换的2个异常(masterha_master_switch line 53)
      MHA 手动故障转移

  • 相关阅读:
    golang1.8
    用jmeter测试mogonDd数据库
    Memcache课程
    appium 处理滑动的方法
    【MVC 2】MVC+EF框架结构实例:注册ID号验证
    【Ajax 3】JavaScript封装Ajax
    【Ajax 2】封装Ajax的核心对象:XMLHttpRequest对象
    【Ajax 1】Ajax与传统Web开发的区别
    【软工7】软件工程中的文档
    【软考10】计算机网络基础知识拾遗
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5065972.html
Copyright © 2020-2023  润新知