生产环境mysql如何实现高可用_配置主从复制与自动故障切换

主从复制SHOW SLAVE STATUS显示Connecting的常见原因是网络通但权限或配置未对齐:主库需开启binlog且server_id全局唯一;从库CHANGE MASTER TO中MASTER_HOST不能为localhost或127.0.0.1,须填真实IP或域名。主从复制配不起来,SHOW SLAVE STATUS 一直显示 Connecting常见原因是网络通但权限或配置没对齐。主库必须开 binlog,且 server_id 要全局唯一;从库的 CHANGE MASTER TO 中 MASTER_HOST 不能写 localhost 或 127.0.0.1(容器或跨主机时尤其容易错),得填可路由的真实 IP 或域名。实操建议:主库检查:SELECT @@log_bin, @@server_id;,确保返回 ON 和非零整数从库执行前先停掉复制:STOP SLAVE;,改完配置再 START SLAVE;用 mysql -h 主库IP -u repl_user -p 在从库机器上手动连一次,验证账号、网络、防火墙三关如果主库开了 require_secure_transport=ON,从库的 CHANGE MASTER TO 必须加 MASTER_SSL=1 参数故障切换后业务连不上新主库,ERROR 2003 (HY000) 持续报错自动切换本身不等于服务自动重连。MySQL 客户端不会感知主从角色变化,应用层仍连着旧地址------除非你用了中间件或代理层做流量调度。实操建议:别依赖 DNS 切换:TTL 延迟、客户端缓存、glibc 的 getaddrinfo 行为都不可控推荐用 ProxySQL 或 MaxScale 做读写分离+故障感知,它们能监听 SHOW SLAVE STATUS 变化并自动踢掉失效节点若用 VIP 方案(如 keepalived),确保 ARP 刷新及时,且从库机器禁用 arp_ignore 和 arp_announce 冲突配置应用连接串里不要硬编码 IP,至少用 host 文件或内网 DNS 名,并配合连接池的 validationQuery(如 SELECT 1)快速剔除坏连接semi-sync 开了但复制延迟还是高,甚至退化成异步半同步不是银弹。只要一个从库响应超时(默认 rpl_semi_sync_master_timeout=10000,单位毫秒),主库就自动切回异步模式,且不会告警------你得自己监控 Rpl_semi_sync_master_status 和 Rpl_semi_sync_master_no_tx 这两个状态变量。 跃问 跃问是由阶跃星辰开发的免费AI智能问答助手,随时帮你智能搜索、高效阅读、识图理解、和你畅聊感兴趣的话题。

相关推荐
城管不管4 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
倔强的石头1064 小时前
向量数据库从相似度检索走向融合数据底座
数据库
聪明蛋子哟5 小时前
Stagehand v3多语言SDK:Python/Go/Rust/Java下的浏览器自动化统一方案
python·golang·rust
今天AI了吗6 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
卷无止境6 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
TELL5216 小时前
selenium webdriver 第二次初始化的异常
开发语言·python
Csvn6 小时前
🐍 Day 4: Python 控制流 — 条件、循环与推导式的艺术
后端·python
lilian2337 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
皮卡丘不断更7 小时前
手机优先的 Personal Ledger:把账目、学习和复盘放到同一个入口
数据库·sqlite·fastapi·开源项目·个人效率
保卫大狮兄8 小时前
设备管理从台账到报废,完整生命周期一次讲清
数据库·设备管理·设备