首页 游戏 软件 资讯 排行榜 专题
首页
数据库
mysql如何配置MHA高可用集群_安装Node节点与Manager监控脚本

mysql如何配置MHA高可用集群_安装Node节点与Manager监控脚本

热心网友
36
转载
2026-04-24

MHA高可用集群部署:避开那些“坑”,让切换真正可靠

MHA高可用集群必须在所有MySQL节点安装mha4mysql-node,否则故障切换失败;Manager仅发指令,Node执行CHANGE MASTER TO等操作并提供关键脚本;SSH需root免密且禁用requiretty;配置文件缺user、repl_user、ssh_user等任一字段均导致校验失败。

mysql如何配置MHA高可用集群_安装Node节点与Manager监控脚本

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

部署MHA集群,千万别以为装上Manager就万事大吉。Node组件必须在每一个MySQL实例上安装并验证通过,这是故障切换能够成功执行的绝对前提,否则切换流程会在关键时刻掉链子。

为什么每个MySQL节点都必须安装 mha4mysql-node

这里有个关键的角色分工需要厘清:Manager节点更像是一个“指挥官”,它负责监控和下达指令,但具体的数据同步和主从切换动作,比如执行 CHANGE MASTER TOSTART SLA VERESET SLA VE 这些命令,都是由各个节点本地的 mha4mysql-node 来完成的。如果某个从库节点漏装了Node,Manager在切换时就会卡在“Waiting for sla ves to apply relay logs”这一步,或者直接报错 Can't exec "apply_diff_relay_logs",导致切换失败。

  • Node组件提供了 apply_diff_relay_logsfilter_mysqlbinlog 等核心脚本,专门用来补全主库宕机前未来得及同步的binlog数据,这是保证数据一致性的关键。
  • Manager通过SSH远程调用节点上的 masterha_check_repl 等命令,而这些命令的执行依赖于本地Node的安装路径(默认是 /usr/bin/)。
  • 一个常见的依赖陷阱:在CentOS 7这类系统上,默认的Perl版本可能较低,而 mha4mysql-node-0.58 需要 perl-DBD-MySQL 模块。如果没提前装好,使用 rpm -ivh 安装时可能会因为依赖缺失而静默退出,看似装了,实则无效。

mha4mysql-manager 安装后,别忘了这些手动步骤

Manager的RPM安装包可不会帮你打理好一切。它不会自动创建配置目录、日志目录,也不会建立专用的运行用户。如果直接启动 masterha_manager,很可能会遇到 No such file or directory: /etc/masterha/app1.cnf 这类错误,或者因为权限问题导致日志写入失败。

  • 必须手动创建配置目录,例如 /etc/masterha/,并确保运行用户(通常是root或你指定的用户)拥有读写权限。
  • 强烈建议为Manager创建一个专用系统用户,例如 useradd -r -s /sbin/nologin mha,并在启动命令中通过 --user=mha 参数指定,这有助于权限隔离和管理。
  • 配置文件的名字必须和启动命令严格对应。比如,如果你用 masterha_manager --conf=/etc/masterha/app1.cnf 启动,那么配置文件就必须命名为 app1.cnf,叫成 mysql-mha.cnf 可不行。
  • 配置文件里定义的 manager_workdir(工作目录)和 manager_log(日志文件)路径,需要提前用 mkdir -p 创建好,并设置正确的权限。否则,Manager可能看似启动成功,实则监控功能完全失效,因为日志根本写不进去。

SSH免密登录:必须用root,并关掉 requiretty

MHA Manager默认会以 root 用户身份通过SSH连接到各个节点执行命令。如果出于安全考虑想改用普通用户(比如 mysql),就需要在所有节点的 /etc/sudoers 文件中精确授权该用户执行特定命令,这个过程极易遗漏,带来隐患。更常见的问题是触发 sudo: sorry, you must ha ve a tty to run sudo 错误,导致切换流程意外中断。

  • 在所有MySQL节点的 /etc/sudoers 文件中,务必确认 Defaults requiretty 这一行被注释掉了。或者,可以添加 Defaults:mha !requiretty 来针对MHA用户禁用tty要求。
  • 在Manager节点生成SSH密钥后,推荐使用 ssh-copy-id root@目标IP 命令来分发公钥。不要手动去编辑 authorized_keys 文件,因为很容易把文件权限设错(比如设成644),导致SSH出于安全考虑拒绝读取。
  • 测试SSH连通性时,记得加上 -o StrictHostKeyChecking=no 参数,例如 ssh -o StrictHostKeyChecking=no root@192.168.1.11 'hostname'。这样可以避免首次连接时出现交互式确认提示,卡住自动化流程。
  • 如果Node节点上的 /root/.ssh/config 文件配置了Host别名或ProxyCommand等规则,可能会干扰Manager的直接连接判断。为求稳妥,在部署阶段建议先清空或注释掉该文件的内容。

配置文件里最容易遗漏的三个“硬核”字段

app1.cnf 配置文件可不是随便填几项就能跑的。缺少以下任何一个字段,masterha_check_sshmasterha_check_repl 检查命令都会直接报错退出,而不是给出警告。

  • user=root:注意,这个字段指的是SSH登录用的系统用户,不是MySQL数据库用户。如果不写,默认会使用当前shell用户,而这往往不是root。
  • repl_user=replrepl_password=replpass:这两个值必须与在MySQL中通过 CREATE USER 'repl'@'%' 创建的复制账号完全一致,包括大小写、是否使用引号、特殊字符等,都需要仔细核对。
  • ssh_user=root:这是显式声明SSH用户的字段,其值通常和上面的 user 相同。但在MHA的一些旧版本(比如0.56)中,可能会忽略 user 而只认 ssh_user。所以,最稳妥的做法是两个字段都明确写上。
  • 另外,master_ip_failover_script 这个配置项也不要留空或仅仅注释掉。即使你当前不打算使用虚拟IP(VIP),也需要将它指向一个实际存在且可执行的脚本(哪怕是一个内容为空的脚本),否则 masterha_manager 启动时会报 Can't open master_ip_failover_script 错误。

在实际部署中,超过80%的初始化失败都卡在三个地方:Node没有在所有节点安装齐全、SSH权限配置不对、或者配置文件里少写了某个等号后面的值。一个高效的排查顺序是:先确保 masterha_check_ssh --conf=/etc/masterha/app1.cnfmasterha_check_repl --conf=/etc/masterha/app1.cnf 这两条检查命令都能顺利通过,然后再去启动Manager服务。这比反复重启Manager、在日志里大海捞针要节省大量时间。

来源:https://www.php.cn/faq/2337251.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

mysql如何配置MHA高可用集群_安装Node节点与Manager监控脚本
数据库
mysql如何配置MHA高可用集群_安装Node节点与Manager监控脚本

MHA高可用集群部署:避开那些“坑”,让切换真正可靠 MHA高可用集群必须在所有MySQL节点安装mha4mysql-node,否则故障切换失败;Manager仅发指令,Node执行CHANGE MASTER TO等操作并提供关键脚本;SSH需root免密且禁用requiretty;配置文件缺use

热心网友
04.24
一行 Math.random(),搞崩 Node.js 生态?一周下载超 1 亿次的 npm 包爆出严重漏洞!
业界动态
一行 Math.random(),搞崩 Node.js 生态?一周下载超 1 亿次的 npm 包爆出严重漏洞!

Ja vaScript 生态常用库曝高危漏洞,数百万应用面临代码执行风险 一个在Ja vaScript生态中广泛使用的 `form-data` 库,最近曝出了一个高危安全漏洞(编号CVE-2025-7783)。这事儿影响可不小,波及了数百万个依赖该库的应用。攻击者一旦利用这个漏洞,就能执行恶意代码,

热心网友
04.22
OpenClaw本地Windows部署(简单上手)
AI
OpenClaw本地Windows部署(简单上手)

这是一份面向 Windows 平台的 OpenClaw 部署快速指南,旨在梳理核心流程。由于环境差异,具体操作中难免会遇到细节问题,欢迎在评论区留言交流,我会尽力解答。文章若有疏漏之处,也请各位前辈多多指教。 前置条件 部署的第一步,是确保你的系统中装有 Node js,并且版本不低于 22 0 0

热心网友
04.22
为什么做空比做多更难?做空合约的特殊风险
web3.0
为什么做空比做多更难?做空合约的特殊风险

为什么做空比做多更难?做空合约的特殊风险 binance币安 注册入口: APP下载: 欧易OKX 注册入口: APP下载: 火币: 注册入口: APP下载: 一、上涨空间无限而下跌空间受限 这几乎是做空者面临的第一道“天然屏障”。期货价格在理论上可以无限上涨,但最低也只能跌到零。这意味着什么?做空

热心网友
04.20
openclaw龙虾的Windows部署教程
AI
openclaw龙虾的Windows部署教程

准备工作:安装Node js 21+与Git版本控制工具 在正式部署OpenClaw之前,请务必完成运行环境的配置。您需要在计算机上预先安装Node js(建议使用21或更高版本)以及Git版本控制系统。这两项是确保后续所有步骤顺利执行的先决条件。 一、安装pnpm包管理器 首先,我们需要安装高效的

热心网友
04.14

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

还在为看行情付费?这些免费网站一样好用!
web3.0
还在为看行情付费?这些免费网站一样好用!

实时掌握加密货币行情是每位投资者的必修课 精准的数据和强大的图表工具,是不是非得付费才能获得?其实不然。市面上有大量免费且功能卓越的网站,它们提供的数据深度和分析工具,完全能满足绝大多数投资者的看盘和研究需求。 免费好用的行情网站推荐 1 币安 (Binance) 作为全球交易量领先的交易所,币安

热心网友
04.24
零跑D19正式上市:增程/纯电双版本共七款配置,首销权益
娱乐
零跑D19正式上市:增程/纯电双版本共七款配置,首销权益

零跑D19正式上市:增程 纯电双版本共七款配置,首销权益详解 备受市场瞩目的零跑D19,其官方售价已于2026年4月16日正式公布。这款全新中大型SUV提供增程式与纯电动两种动力系统,共计七款车型配置。其中,增程版推出三款车型,售价区间为21 98万元至23 98万元;纯电版则提供四款车型,官方指导

热心网友
04.24
龙之剑:觉醒Steam上线,2026年7月发售,虚幻5打
娱乐
龙之剑:觉醒Steam上线,2026年7月发售,虚幻5打

龙之剑:觉醒Steam上线,2026年7月发售,虚幻5打造动画风开放世界 备受瞩目的动作角色扮演游戏《龙之剑:觉醒》现已正式登陆Steam平台,并公布将于2026年7月全球发售。游戏确认提供完整的官方中文支持,极大方便了华语区玩家获取信息与未来体验。 这款游戏的背景颇具渊源。它并非全新IP,而是基于

热心网友
04.24
新手必看!币圈免费看行情的神器网站盘点
web3.0
新手必看!币圈免费看行情的神器网站盘点

对于刚刚踏入加密货币世界的新手来说,找到一个信息准确、使用方便的免费行情网站至关重要 一个好的行情工具,远不止是看个价格那么简单。它就像你的市场雷达,既要能实时捕捉价格波动,又要能提供深度的图表和数据,帮你从纷繁的信息中理出头绪。那么,市面上有哪些公认好用的免费神器呢?下面就来盘点几个,助你轻松上手

热心网友
04.24
TCOMAS幻世NEOX 360一体式水冷发售:6.67
娱乐
TCOMAS幻世NEOX 360一体式水冷发售:6.67

TCOMAS钛钽幻世NEOX 360一体式水冷散热器正式上市发售 高端电脑散热领域迎来重磅新品。TCOMAS钛钽品牌推出的幻世NEOX 360一体式水冷CPU散热器,已于4月17日正式上市销售。目前,玩家已可通过京东平台直接购买。对于注重个性装机与极限性能的DIY用户来说,这款水冷散热器提供了经典黑

热心网友
04.24