生产环境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智能问答助手,随时帮你智能搜索、高效阅读、识图理解、和你畅聊感兴趣的话题。

相关推荐
Omics Pro几秒前
强生:以机理为中心!虚拟细胞世界模型
数据库·人工智能·python·深度学习·算法·机器学习·自然语言处理
VidDown2 分钟前
自动给视频挑一张能看的封面:帧评分、构图与批量生成
python·ffmpeg·音视频·视频
czq_26867194879 分钟前
Python打卡第34天
开发语言·python·机器学习
计算机毕业编程指导师12 分钟前
大数据毕设选题推荐:基于Hadoop+Spark全球碳排放减排策略分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·毕业设计·碳排放减排
sibylyue14 分钟前
SQLite 运行模式
java·jvm·sqlite
专业程序开发源14 分钟前
django便利店外卖后台管理系统19650-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·django·课程设计
java资料站19 分钟前
四、Spring AIAlibaba · Tools(工具调用)
数据库·sql·spring
toooooop820 分钟前
宝塔Python项目管理器:环境变量踩坑记录
java·jvm·python
大文说跨境21 分钟前
用 Python 自动化检测浏览器环境指纹:WebRTC 泄露、Canvas 哈希与时区一致性校验
python·自动化·webrtc
步行cgn30 分钟前
Spring 事务传播行为详解
java·数据库·spring