mysql主从复制有什么作用_mysql高可用方案说明-mysql教程

读写分离实际并发能力取决于场景:4核8G MySQL 5.7纯读理论QPS约10000,但混入慢查询易拖垮主库;从库专跑报表可保障核心事务稳定,需明确写走master、控制从库数量≤5、避免依赖自动中间件导致事务内读从库丢数据。

读写分离能扛住多少并发?别只看QPS数字

主从复制最直接的作用是把读请求分流到从库,缓解主库压力。4核8G的MySQL 5.7实例,在纯读场景下理论QPS可达10000,但实际中一旦混入慢查询(比如报表SQL),主库锁表会直接拖垮前台服务。用从库专跑报表、后台分析,主库就能专注处理订单、支付等核心事务。
实操建议:
• 写操作必须走master,应用层需明确区分数据源;
• 从库数量不是越多越好,超过5个后IO和网络开销会明显上升;
• 不要依赖“自动读写分离中间件”,很多开源组件在事务内误发读请求到从库,导致查不到刚写的记录。

为什么主库宕机后数据可能丢?binlog同步机制是关键

默认异步复制下,主库写完binlog就返回客户端成功,不等从库确认。如果主库突然断电,这部分未同步的binlog就永远丢失了。2025年某金融平台就因未启用半同步,在一次磁盘故障中丢失了3秒交易日志。
实操建议:
• 强烈开启rpl_semi_sync_master_enabled=ON,并配rpl_semi_sync_master_timeout=10000(单位毫秒);
• 检查是否生效:SHOW VARIABLES LIKE 'rpl_semi%'; + SHOW STATUS LIKE 'Rpl_semi_sync%';;
• 注意:半同步会略微降低TPS,压测时务必对比开启前后的性能衰减。

从库延迟怎么看?别只信Seconds_Behind_Master

Seconds_Behind_Master显示为0,不代表数据已追平——它只反映IO线程拉取进度,SQL线程执行卡住时这个值照样是0。真实延迟得看relay_log_pos和主库master_log_pos的差值,再结合当前binlog事件的执行耗时。
实操建议:
• 定期执行:SHOW SLAVE STATUS\G,重点盯Read_Master_Log_Pos、Exec_Master_Log_Pos、Seconds_Behind_Master三者关系;
• 遇到延迟突增,先查从库是否在做OPTIMIZE TABLE或大事务回滚;
• MySQL 5.7+ 可启用slave_parallel_workers > 0加速SQL线程,但需确保binlog_format=ROW且slave_parallel_type=LOGICAL_CLOCK。

keepalived切换时,为什么从库不敢直接升主?

自动切换最大的陷阱是“脑裂”和“数据不一致”。比如主库只是网络闪断,keepalived已切VIP到从库,结果原主库恢复后还在继续写——两边同时写,自增ID冲突、唯一键报错、数据覆盖全来了。
实操建议:
• 主从都设auto_increment_offset和auto_increment_increment错开(如主库offset=1, increment=2;从库offset=2, increment=2);
• keepalived检测脚本必须包含mysql -e "SELECT @@read_only;",只读状态为OFF才允许接管VIP;
• 切换前强制停止原主库的写入:SET GLOBAL read_only=ON; + FLUSH TABLES WITH READ LOCK;,否则宁可人工介入。

主从复制不是高可用的终点,而是起点。真正难的是在延迟、一致性、切换时机之间做取舍——比如半同步保数据但降性能,多线程复制提速但增加配置复杂度,keepalived快切却要严防脑裂。这些权衡点,往往比搭环境本身更消耗线上经验。

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » mysql主从复制有什么作用_mysql高可用方案说明-mysql教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1394+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4046479+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1394+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4046480+
  • 本周更新: 0+
  • 最后更新: 2026-03-16