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

MHA主从切换失败报SSH连接失败,实为默认用root远程登录被禁,需手动测试ssh免密登录、显式配置ssh_user、检查密钥权限及relay_log_recovery等。MySQL 主从切换失败时 MHA 报错 SSH connection failed 怎么查不是网络不通,而是 MHA 默认用 root 用户连所有节点,但很多环境禁用了 root 的远程 SSH 登录。它不会报"权限拒绝",而是卡在连接阶段,日志里只显示超时或失败。先手动在 manager 节点上跑:ssh -o ConnectTimeout=5 -o BatchMode=yes -i /etc/mha/ssh_key user@192.168.1.102,确认能免密登录到每个 MySQL 节点(包括主、从、候选 master)MHA 配置里必须显式指定 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_recovery=ON,否则 crash 后 relay log 可能损坏,导致 MHA 拒绝将其作为候选 master检查 master_ip_failover_script 是否存在且有执行权限;即使不改 VIP,脚本也必须返回 0,否则 MHA 认为"故障转移失败"而中止ping_interval 默认是 3 秒,但若主库只是短暂卡住(比如锁表),MHA 可能误判;建议搭配 secondary_check_script 做双网段探测,避免单点网络抖动引发脑裂切换后应用连不上新主库:Can't connect to MySQL server on 'old_master_ip'这不是 MHA 的问题,是客户端没感知 IP 变更。它只负责切换 MySQL 角色和 VIP(如果配了),不改 DNS、不刷新连接池、不通知应用。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

相关推荐
草莓熊Lotso2 小时前
Vibe Coding 时代:LangChain 与 LangGraph 全链路解析
linux·运维·服务器·数据库·人工智能·mysql·langchain
方安乐6 小时前
python之向量、向量和、向量点积
开发语言·python·numpy
zh1570237 小时前
JavaScript中WorkerThreads解决服务端计算瓶颈
jvm·数据库·python
代码AI弗森7 小时前
一文理清楚“算力申请 / 成本测算 / 并发评估”
java·服务器·数据库
蜡台8 小时前
Python包管理工具pip完全指南-----2
linux·windows·python
Mr.朱鹏8 小时前
【Python 进阶 | 第四篇】Psycopg3 + Flask 实现 PostgreSQL CRUD 全流程:从连接池到RESTful接口
python·postgresql·flask·virtualenv·fastapi·pip·tornado
摇滚侠9 小时前
expdp 查看帮助
java·数据库·oracle
流年似水~9 小时前
MCP协议实战:从零搭建一个让Claude能“看见“数据库的工具服务
数据库·人工智能·程序人生·ai·ai编程
2401_871492859 小时前
Vue.js监听器watch利用回调函数处理级联下拉框数据联动
jvm·数据库·python