4-1-2 MHA日常管理
最后更新于:2022-04-02 07:43:50
1.校验ssh等效验证
```shell
masterha_check_ssh --conf=/etc/mha/app1.cnf
```
2.校验mysql复制
```shell
masterha_check_repl --conf=/etc/mha/app1.cnf
```
3.启动mha监控,在master故障时开启自动转移
```shell
nohup masterha_manager --conf=/etc/mha/app1.cnf > /tmp/mha_manager.log 2>&1 &
```
4.检查启动的状态
```shell
masterha_check_status --conf=/etc/mha/app1.cnf
```
5.停止mha
```shell
masterha_stop --conf=/etc/mha/app1.cnf
```
6.多次failover
MHA在每次failover切换后会在管理目录生成文件app1.failover.complete ,下次在切换的时候
如果由于间隔时间太短导致切换不成功,应手动清理掉。
```shell
rm -rf /var/log/mha/app1/app1.failover.complete
或者通过加上参数--ignore_last_failover来忽略
```
7.手工failover
手工failover场景,适用于在master死掉,而masterha_manager未开启情形,如下,指定--master_state=dead
```shell
masterha_master_switch --conf=/etc/mha/app1.cnf --master_state=dead --dead_master_host=192.168.0.230 --dead_master_port=3306 --new_master_host=192.168.0.235 --new_master_port=3306
#可选 --ignore_last_failover
```
8.手动在线主从切换,如下,指定--master_state=alive
```shell
masterha_master_switch --conf=/etc/mha/app1.cnf --master_state=alive --new_master_host=192.168.0.230 --new_master_port=3306 --orig_master_is_new_slave
#可选 --interactive=0
#可选 --running_updates_limit=10000
```
--orig_master_is_new_slave
表明在切换时原master变为新master的slave节点
--interactive=0
零交互
--running_updates_limit=10000
切换时候选master如果有延迟的话,mha切换不能成功,加上此参数表示延迟在此时间范围内都可切换(单位为s),
但是切换的时间长短是由recover时relay日志的大小决定
';