返回顶部
首页 > 资讯 > 数据库 >mha日常维护命令总结
  • 138
分享到

mha日常维护命令总结

2024-04-02 19:04:59 138人浏览 八月长安
摘要

这篇文章主要讲解了“mha日常维护命令总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mha日常维护命令总结”吧! mha 日常维护命令1.查

这篇文章主要讲解了“mha日常维护命令总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mha日常维护命令总结”吧!

mha 日常维护命令

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/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/2>&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。这种方法适用于增减索引,如果是增加字段就需要额外注意。
可以通过如下命令停止mha
masterha_stop --conf=/etc/app1.cnf

常用参数介绍:

--master_state=dead
    强制的参数,参数值为"dead" 或者 "alive" . 如果 设置为 alive 模式,masterha_master_switch 开始在线主库切换操作。

--dead_master_host=(hostname)
    强制参数,宕机的主库所在的主机名称。--dead_master_ip 和 --dead_master_port 是可选参数,如果这些参数没有设置,--dead_master_ip 就是 --dead_master_host 解析的IP地址。--dead_master_port 为 3306

--new_master_host=(hostname)
    新主机地址,可选参数,这个参数在你明确新的主库的主机,非常有用。(这就意味着你不需要让MHA来决定新的主库)。如果不设置此参数,MHA 将会利用自动failover的规则来选择新的主库。如果设置--new_master_host,MHA选择此主机为新的主库,如果不能成为主库,MHA将会退出

--interactive=(0|1)
    如果设置为0,在masterha_master_switch,它自动执行故障转移(非交互式)。这实际上是和masterha_manager的内部运行机制一样,这种非交互式故障转移是有用的,如果你已经证实了master死了,但你想尽快做故障转移。非交互式故障转移也是有用的,如果你使用其他现有的主监控软件和要调用的非交互式故障转移命令软件。典型的例子是masterha_master_switch调用从集群软件像起搏器。

--ssh_reachable=(0|1|2)
    指定master 经过SSH是否可达。0:不可达、1:可达、2:未知(默认值)。 如果设置为了2,此命令内部将会检测通过SSH 是否可达master,并且跟新SSH 状态。如果可达,且设置master_ip_failover_script 或者 shutdown_script .将会执行"--command=stopssh"。否则,执行 "--command=stop"。另外,如果宕机的master通过SSH可达,failover脚本试图从宕机的master机器上拷贝没有没有发送的binlog。

--skip_change_master
    如果设置此参数,当发生failover的时候,MAH 在应用完不同的relay log退出,忽略CHANGE MASTER 和 START SLAVE 操作。所以 slaves 不会指向 新的master. 开启此参数,有利于手动的二次检查slave 恢复是否成功

--skip_disable_read_only
    设置此参数,MHA 将不会在新的主库上执行 SET GLOBAL read_only =0 操作,有利于手动操作

--last_failover_minute=(minutes)
    参考master_manager 

--ignore_last_failover
    参考master_manager

--wait_on_failover_error=(seconds)
    类似于master_manager, 此参数只用于自动的/非交互式的failover。如果没有设置--interval=0,wait_on_failover_error 将会被忽略,在发生错误的时候不会sleep。

--remove_dead_master_conf
    参考masterha_manager

--wait_until_gtid_in_sync(0|1)
    此参数从0.56版本开始可用,如果设置成1,当基于gitD的failover时,MHA 会等待所有的从库追上新主库的GITD

--skip_change_master
    此参数从0.56版本开始可用,如果开启此选项,MHA 跳过 CHANGE MASTER 的操作

--skip_disable_read_only
    此参数从0.56版本开始可用,如果开启此选项,MHA 将会在新的master 跳过 SET GLOBAL read_only = 0;

--ignore_binlog_server_error
    此参数从0.56版本开始可用,如果开启此选项,当执行failover的时,MHA忽略binlog server上任何错误

非交互式Failover

如果在masterha_master_switch中设置"--interactive=0", 它自动执行故障转移(非交互式)。这实际上是和masterha_manager的内部运行机制一样,这种非交互式故障转移是有用的,如果你已经证实了master死了,但你想尽快做故障转移。非交互式故障转移也是有用的,如果你使用其他现有的主监控软件和要调用的非交互式故障转移命令软件。典型的例子是masterha_master_switch调用从集群软件像起搏器。

[在线] 切换主库的开关 (Scheduled (Online) Master Switch)

    有时你可能想做预定的主切换,即使当前的master正在运行。典型的例子是取代部分损坏的硬件或升级主服务器。你不能取代一个RAID控制器或增加内存没有停止服务器。在这种情况下,您需要分配一个预定的维护时间,你必须迁移到不同的服务器的master。
masterha_master_switch命令可以用来运行计划总开关。
$ masterha_master_switch --master_state=alive --conf=/etc/app1.cnf --new_master_host=host2
--master_state=alive必须设置。调度主开关的程序流与从主故障转移有稍微的不同。例如,你不需要关闭主服务器,但你需要确保写查询不在主上执行。通过设置主ip网上变更脚本,您可以控制阻塞当前master不允许写(即drop可写的用户,设置read_only = 1,等等)在执行FLUSH TABLES WITH READ LOCK,和如何让写在新master。
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输出结果上。
这些限制的原因是出于安全原因,并尽快切换到新主库。masterha_master_switch需要以下参数切换时主在线。

    --new_master_host=(hostname)
        新主机地址,可选参数,这个参数在你明确新的主库的主机,非常有用。(这就意味着你不需要让MHA来决定新的主库)。如果不设置此参数,MHA 将会利用自动failover的规则来选择新的主库。如果设置--new_master_host,MHA选择此主机为新的主库,如果不能成为主库,MHA将会退出

   --orig_master_is_new_slave
        当完成主库切换后,原先的主库将作为现在主库的slave运行。默认:不开启(原先的主库不会加入到新的复制环境中)。如果开启此选项,需要在配置文件中设置repl_passWord参数,由于当期的Master并不知道新的Master的replication的密码

  --remove_orig_master_conf 
        如果设置此参数,当成功failover后,MHA manager将会自动删除配置文件中关于dead master的配置选项。

  --skip_lock_all_tables
        当在做主库切换的时候,MHA会在原先的主库上执行FLUSH TABLES WITH READ LOCK 操作,确保没有跟新操作,但是FLUSH TABLES WITH READ LOCK 操作是非常耗费资源的,并且你可以在原先的主库确定没有跟新操作(通过master_ip_online_change_script 中kill all clients操作等)。可以利用此选项避免表。

感谢各位的阅读,以上就是“mha日常维护命令总结”的内容了,经过本文的学习后,相信大家对mha日常维护命令总结这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: mha日常维护命令总结

本文链接: https://lsjlt.com/news/59639.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mha日常维护命令总结
    这篇文章主要讲解了“mha日常维护命令总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mha日常维护命令总结”吧! mha 日常维护命令1.查...
    99+
    2024-04-02
  • oracle dataguard日常维护命令总结
    1.停止Standbyselect process, status from v$managed_standby; --查看备库是否在应用日志进行恢复 alter database recover...
    99+
    2024-04-02
  • Linux日常维护常用命令
    本篇内容介绍了“Linux日常维护常用命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!网络命令: # ifconfig# 显示网络信息,包...
    99+
    2023-06-13
  • linux日常命令总结
    这篇文章主要介绍“linux日常命令总结”,在日常操作中,相信很多人在linux日常命令总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux日常命令总结”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-05
  • MongoDB日常运维-01常用命令汇总
    MongoDB常用命令汇总(一) ---增,删,改,查 一:增(insert) 二:删(delete) 三:改(update) 四:查(select)  ---连接数...
    99+
    2024-04-02
  • mysql常用命令总结
    1.登录数据库[root@web01 data]# mysql -uroot -p2.更改已知用户的密码[root@web01 ~]# mysql...
    99+
    2024-04-02
  • mysqladmin常用命令总结
    下面讲讲关于mysqladmin常用命令总结,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysqladmin常用命令总结这篇文章你一定会有所受益。1、查看数据库状态变换mys...
    99+
    2024-04-02
  • docker常用命令总结
    本篇内容主要讲解“docker常用命令总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker常用命令总结”吧!个人简单总结:参数用途语法示例search在docker hub中搜索镜像d...
    99+
    2023-06-03
  • Git常用命令总结
    这篇文章主要讲解了“Git常用命令总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Git常用命令总结”吧!前言  这里就不介绍 git 了,表一看到命令行就怕怕,常用的命令也就这些,基本满...
    99+
    2023-06-09
  • oracle维护常用命令收集
    查询数据库表空间容量和数据量 SELECT a.tablespace_name , total, free, (total - free), total / (1024 * 1024 * 1024)...
    99+
    2024-04-02
  • Android ADB常用命令总结
    ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机)...
    99+
    2022-06-06
    adb Android
  • 常用的MySQL命令总结
    本篇内容主要讲解“常用的MySQL命令总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“常用的MySQL命令总结”吧!启动:net start mySql;  ...
    99+
    2024-04-02
  • goldengate的常用命令总结
    这篇文章主要介绍“goldengate的常用命令总结”,在日常操作中,相信很多人在goldengate的常用命令总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”golden...
    99+
    2024-04-02
  • MYSQL的常用命令总结
    本篇内容主要讲解“MYSQL的常用命令总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL的常用命令总结”吧! MYSQL常用命令 1.导出整个数据...
    99+
    2024-04-02
  • solr常用的命令总结
    这篇文章主要介绍“solr常用的命令总结”,在日常操作中,相信很多人在solr常用的命令总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”solr常用的命令总结”的疑惑有所帮...
    99+
    2024-04-02
  • Linux的常用命令总结
    这篇文章主要讲解了“Linux的常用命令总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux的常用命令总结”吧!ls [选项] [目录名 | 列出相关目录下的所有目录和文件-a&nb...
    99+
    2023-06-05
  • 【ADB】adb常用命令总结
    ADB常用命令总结 前言一、安装二、ADB常用命令1.查看adb版本、server的启停、查看设备连接信息2.安装、卸载apk3.查看应用列表和Activity相关信息4.打印日志5.查看设备...
    99+
    2023-08-31
    adb android 经验分享
  • 总结inux常用的命令
    这篇文章主要讲解了“inux常用命令总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“inux常用命令总结”吧!linux文件中存在^M 使用shell命令tr可以实现去除,具体命令如下:代...
    99+
    2023-06-09
  • Shell常用服务器日志分析命令总结
    目录1、查看有多少个IP访问2、查看某一个页面被访问的次数3、查看每一个IP访问了多少个页面4、将每个IP访问的页面数进行从小到大排序5、查看某一个IP访问了哪些页面6、去掉搜索引擎统计的页面7、查看2015年8月16日...
    99+
    2022-06-09
    Shell服务器日志分析命令 Shell服务器日志分析 Shell日志分析命令
  • Linux查看系统日志的常用命令总结
    本篇内容介绍了“Linux查看系统日志的常用命令总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!last-a 把从何处登入系统的主机名称或...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作