博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MHA 日常维护命令集
阅读量:5991 次
发布时间:2019-06-20

本文共 2868 字,大约阅读时间需要 9 分钟。

MHA 日常维护命令集
1.查看ssh登陆是否成功
masterha_check_ssh --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf
 
 
2.查看复制是否建立好
masterha_check_repl --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf 
 
 
3.启动mha
nohup masterha_manager --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf > /tmp/mha_manager.log< /dev/null 2>&1 &
 
master去执行:
#sh /etc/masterha/init_vip.sh
确认VIP绑定成功,如果业务按VIP配置的访问DB,应该已经可以正常访问。
 
注意:
第一次起动,主库上的VIP不会自动绑定,需要手功调用init_vip.sh 去绑定,主库发生故障切换会进行vip的漂移。
 
当有slave节点宕掉的情况是启动不了的,加上--ignore_fail_on_start即使有节点宕掉也能启动mha
 
nohup masterha_manager --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf --ignore_fail_on_start> /tmp/mha_manager.log< /dev/null 2>&1 &
 
需要在配置文件中设置ignore_fail=1
 
 
4.检查启动的状态
masterha_check_status --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf 
 
 
5.停止mha
masterha_stop --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf 
 
 
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 --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf --dead_master_host=old_ip --master_state=dead  --new_master_host=new_ip --ignore_last_failover
 
 
8.masterha_manager是一种监视和故障转移的程序。另一方面,masterha_master_switch程序不监控主库。masterha_master_switch可以用于主库故障转移,也可用于在线总开关。
 
 
9.手动在线切换masterha_master_switch --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf --master_state=alive --new_master_host=192.168.199.78--orig_master_is_new_slave
 
或者masterha_master_switch --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf --master_state=alive --new_master_host=192.168.199.78-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输出结果上。
 

转载于:https://www.cnblogs.com/liang545621/p/7517938.html

你可能感兴趣的文章
Nagios自定义扩展
查看>>
linux开机服务自启
查看>>
设置远程桌面。其他人可以访问
查看>>
干掉Unity3D
查看>>
可以用来开发h5的软件小结
查看>>
MySQL运行状态show status中文详解
查看>>
随笔--新建查询
查看>>
Jenkins Code Sign error: No provisioning profiles found
查看>>
(转)ReentrantLock可重入锁的使用场景
查看>>
用git difff 生成补丁
查看>>
每天一个linux命令(24):gzip命令
查看>>
java 突击队注意事项:在路上
查看>>
反向路径过滤——reverse path filter
查看>>
ijg库的使用的几点注意
查看>>
SharePoint 2013中的爬网最佳做法
查看>>
swift 进阶笔记 (一) —— 可选型
查看>>
防止SQL注入
查看>>
TEMP
查看>>
hdu 4685 Prince and Princess(匈牙利算法 连通分量)
查看>>
LeeCode - Unique Binary Search Trees
查看>>