mha日常维护命令
2016-05-24 21:44
639 查看
mha日常维护命令
http://m.blog.chinaunix.net/uid-28437434-id-3959021.html?/13033.shtml1.查看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
相关文章推荐
- 在CentOS7命令行模式下安装虚拟机
- CentOS 6.5 下的截图方法
- 利用硬链接和truncate降低drop table对线上环境的影响
- CentOS 6.5 下的截图方法
- CentOS-6.5-x86_64 安装 Jenkins
- Linux free
- 89-001-1 IDEA 的JAVAEE web项目的环境配置 tomcat配置
- Linux性能及调优指南(翻译)之Linux内存架构
- SessionUtil Tomcat 生成 session id 的算法
- dtrace4linux
- CentOS 6.5 升级gcc到4.8 以及libstdc++
- Linux系统安装gcc/g++详细过程
- Linux系统安装gcc/g++详细过程
- 每日一linux命令(3)-------pwd
- 【OpenGL】Dota2 Shader分析(1)
- dtrace4linux_Example
- ant调用shell命令(Ubuntu)
- PTA fzu_oop_east
- PTA fzu_oop_east
- Linux 平台下阅读源码的工具链