zoukankan      html  css  js  c++  java
  • mha日常维护命令

    mha日常维护命令

    http://m.blog.chinaunix.net/uid-28437434-id-3959021.html?/13033.shtml

    1.查看ssh登陆是否成功
    masterha_check_ssh --conf=/etc/masterha/app1.cnf

    2.查看复制是否建立好
    masterha_check_repl --conf=/etc/masterha/app1.cnf

    3.启动mha
    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 & 
    需要在配置文件中设置ignore_fail=1

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

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

    6.failover后下次重启
    每次failover切换后会在管理目录生成文件app1.failover.complete ,下次在切换的时候会发现有这个文件导致切换不成功,需要手动清理掉。
    rm -rf /masterha/app1/app1.failover.complete
    也可以加上参数--ignore_last_failover

    7.手工failover
    手工failover场景,master死掉,但是masterha_manager没有开启,可以通过手工failover:
    masterha_master_switch --conf=/etc/masterha/app1.cnf --dead_master_host=10.50.2.10 --master_state=dead --new_master_host=10.50.2.12 --ignore_last_failover

    8.masterha_manager是一种监视和故障转移的程序。另一方面,masterha_master_switch程序不监控主库。 masterha_master_switch可以用于主库故障转移,也可用于在线总开关。

    9.手动在线切换
    masterha_master_switch --conf=/etc/app1.cnf --master_state=alive --new_master_host=192.168.119.74 --orig_master_is_new_slave
    或者
    masterha_master_switch --conf=/etc/app1.cnf --master_state=alive --new_master_host=192.168.119.74 --orig_master_is_new_slave --running_updates_limit=10000

    --orig_master_is_new_slave切换时加上此参数是将原master变为slave节点,如果不加此参数,原来的master将不启动

    --running_updates_limit=10000 切换时候选master如果有延迟的话,mha切换不能成功,加上此参数表示延迟在此时间范围内都可切换(单位为s),但是切换的时间长短是由recover时relay日志的大小决定

    手动在线切换mha,切换时需要将在运行的mha停掉后才能切换。
    在备库先执行DDL,一般先stop slave,一般不记录mysql日志,可以通过set SQL_LOG_BIN = 0实现。然后进行一次主备切换操作,再在原来的主库上执行DDL。这种方法适用于增减索引,如果是增加字段就需要额外注意。

    Online master switch开始只有当所有下列条件得到满足。
    1. IO threads on all slaves are running   // 在所有slave上IO线程运行。
    2. SQL threads on all slaves are running  //SQL线程在所有的slave上正常运行。
    3. Seconds_Behind_Master on all slaves are less or equal than --running_updates_limit seconds  // 在所有的slaves上 Seconds_Behind_Master 要小于等于  running_updates_limit seconds
    4. On master, none of update queries take more than --running_updates_limit seconds in the show processlist output  // 在主上,没有更新查询操作多于running_updates_limit seconds 在show processlist输出结果上。

    可以通过如下命令停止mha
    masterha_stop --conf=/etc/app1.cnf
  • 相关阅读:
    some tips
    ORA00847: MEMORY_TARGET/MEMORY_MAX_TARGET and LOCK_SGA cannot be set together
    Chapter 01Overview of Oracle 9i Database Perfomrmance Tuning
    Chapter 02Diagnostic and Tuning Tools
    变量与常用符号
    Chapter 18Tuning the Operating System
    标准输入输出
    Trace files
    DBADeveloped Tools
    Chapter 03Database Configuration and IO Issues
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5524969.html
Copyright © 2011-2022 走看看