mysql如何实现高可用集群架构_基于MHA环境搭建与部署

张开发
2026/4/15 5:51:20 15 分钟阅读

分享文章

mysql如何实现高可用集群架构_基于MHA环境搭建与部署
MHA主从切换失败报SSH连接失败实为默认用root远程登录被禁需手动测试ssh免密登录、显式配置ssh_user、检查密钥权限及relay_log_recovery等。MySQL 主从切换失败时 MHA 报错 SSH connection failed 怎么查不是网络不通而是 MHA 默认用 root 用户连所有节点但很多环境禁用了 root 的远程 SSH 登录。它不会报“权限拒绝”而是卡在连接阶段日志里只显示超时或失败。先手动在 manager 节点上跑ssh -o ConnectTimeout5 -o BatchModeyes -i /etc/mha/ssh_key user192.168.1.102确认能免密登录到每个 MySQL 节点包括主、从、候选 masterMHA 配置里必须显式指定 user不能依赖默认值ssh_user 和 repl_user 是两个独立配置项别混用检查 /etc/mha/ssh_key 权限是否为 600且属主是运行 mha_manager 的用户通常是 mysql 或 mha主库宕机后 masterha_manager 没触发切换日志停在 Checking slave status常见于从库的 relay_log 位置落后太多或者某台从库 SQL 线程已停止但 Seconds_Behind_Master 显示为 NULL ——MHA 会直接跳过这台如果剩下可选节点不足就放弃切换。确保所有从库都开启了 relay_log_recoveryON否则 crash 后 relay log 可能损坏导致 MHA 拒绝将其作为候选 master检查 master_ip_failover_script 是否存在且有执行权限即使不改 VIP脚本也必须返回 0否则 MHA 认为“故障转移失败”而中止ping_interval 默认是 3 秒但若主库只是短暂卡住比如锁表MHA 可能误判建议搭配 secondary_check_script 做双网段探测避免单点网络抖动引发脑裂切换后应用连不上新主库Cant connect to MySQL server on old_master_ip这不是 MHA 的问题是客户端没感知 IP 变更。它只负责切换 MySQL 角色和 VIP如果配了不改 DNS、不刷新连接池、不通知应用。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手依托大模型帮助用户记录、整理和分析音视频内容体验用大模型做音视频笔记、整理会议记录。

更多文章