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 & 4.检查启动的状态masterha_check_status --conf=/etc/masterha/app1.cnf 5.停止mhamasterha_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。这种方法适用于增减索引,如果是增加字段就需要额外注意。
可以通过如下命令停止mhamasterha_stop --conf=/etc/app1.cnf 删除配置文件里面掉线的服务节点 --remove_dead_master_conf