首页/数据/数据库速查/半同步复制(Semi-Sync)
主从复制与高可用53 条

半同步复制(Semi-Sync)

半同步保证「至少一个从库确认收到」事务才提交:降低故障丢失窗口;用 rpl_semi_sync_source/replica 插件,超时自动降级异步。

数据库速查数据更新于 2026-10-12

安装与确认

安装与确认
-- 源端
INSTALL PLUGIN rpl_semi_sync_source SONAME 'semisync_source.so';
SET GLOBAL rpl_semi_sync_source_enabled = 1;
-- 从库
INSTALL PLUGIN rpl_semi_sync_replica SONAME 'semisync_replica.so';
SET GLOBAL rpl_semi_sync_replica_enabled = 1;
-- 状态
SHOW STATUS LIKE 'Rpl_semi_sync%';
插件8.0: semisync_source/semisync_replica(旧名 master/slave)
超时rpl_semi_sync_source_timeout(毫秒),超时降级并发告警
收益故障切换少丢数据
半同步只保证「收到」不保证「重放」:追求零丢失要看 MGR/组复制或强同步方案。

易错点

  • 超时降级没监控:悄悄退回异步,误以为还有保护
  • 单从库半同步:从库一断全链路退化,拓扑上至少配两个候选从库

数据来源与参考

  • MySQL 8.0 Reference Manual: Semisynchronous Replication

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌