mysql如何选择适合的复制模式_同步模式选择分析-mysql教程

异步复制适合读多写少且容忍数据丢失的场景,MySQL默认采用,主库不等从库确认即返回成功,可能导致数据丢失;半同步复制在一致性与可用性间折中,需至少一个从库落盘后才提交;组复制基于Paxos实现强一致多写,但性能开销大、限制多。

异步复制(ASYNC)适合读多写少、能容忍数据丢失的场景

MySQL 默认就是异步复制:binlog 写完就返回客户端成功,不等从库回执。主库崩溃时,最后几条事务很可能没传到从库,造成数据丢失。

常见错误现象:Seconds_Behind_Master 突然飙升、主从延迟几十秒甚至几分钟,但业务无感知;切换主库后发现新主库缺了几笔订单。

  • 适用场景:报表分析库、搜索同步库、日志归档库这类“最终一致即可”的下游
  • 不适用场景:金融交易、账户余额、支付结果通知等强一致性要求场景
  • 性能影响最小,吞吐最高,网络抖动几乎不影响主库响应

半同步复制(SEMISYNC)在可用性与一致性间折中

启用 rpl_semi_sync_master_enabled=ON 后,主库至少等待一个从库写入 relay log 并刷盘(默认配置下),才向客户端返回成功。

注意:MySQL 5.7+ 的 rpl_semi_sync_master_wait_point 默认是 AFTER_SYNC,即等从库落盘后再提交主库事务——这是真正意义的“半同步”;若设为 AFTER_COMMIT(5.6 默认),主库已提交再等从库,仍可能丢事务。

  • 必须安装插件:INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'
  • 超时由 rpl_semi_sync_master_timeout 控制(单位微秒),超时自动退化为异步,不阻塞主库
  • 从库宕机或网络中断时,主库最多卡住 timeout 时间,之后继续异步运行,这点常被误认为“不可靠”

组复制(Group Replication)适合高一致性、多写需求,但代价明显

group_replication 是 MySQL 官方的 Paxos 实现,要求至少 3 节点,所有写入需多数派确认(quorum)才提交,天然支持多主写(multi-primary 模式)和自动故障转移。

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

本站指数

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