首先确认MySQL版本及主从复制环境,安装并启用半同步插件;主库设置rpl_semi_sync_master_enabled=1,从库启用后重启I/O线程;通过SHOW STATUS验证Rpl_semi_sync_master_status和Slave_status为ON;最后将配置写入my.cnf实现持久化。

MySQL半同步复制(Semi-Synchronous Replication)是一种介于异步复制和全同步复制之间的机制,它保证主库在提交事务前至少有一个从库已接收到并写入中继日志,从而提高数据安全性。下面介绍如何配置MySQL半同步复制。
要使用半同步复制,需满足以下条件:
在主库和从库上分别启用半同步复制插件。
主库操作:
加载主库半同步插件并开启功能:
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; SET GLOBAL rpl_semi_sync_master_enabled = 1; SET GLOBAL rpl_semi_sync_master_timeout = 10000; -- 超时时间(毫秒),默认10秒
从库操作:
加载从库插件:
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'; SET GLOBAL rpl_semi_sync_slave_enabled = 1;
注意:从库启用后需要重启I/O线程才能生效:
STOP SLAVE IO_THREAD; START SLAVE IO_THREAD;
检查主从是否成功建立半同步连接。
查看主库状态:
SHOW STATUS LIKE 'Rpl_semi_sync_master_status'; SHOW STATUS LIKE 'Rpl_semi_sync_master_clients';
Rpl_semi_sync_master_status 为 ON 表示半同步已启用;Rpl_semi_sync_master_clients 显示当前连接的半同步从库数量。
查看从库状态:
SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
若返回 ON,则表示从库已以半同步方式运行。
上述 SET GLOBAL 设置在重启后会失效,建议写入 my.cnf 配置文件中。
主库 my.cnf 添加:
[mysqld] rpl_semi_sync_master_enabled = 1 rpl_semi_sync_master_timeout = 10000
从库 my.cnf 添加:
[mysqld] rpl_semi_sync_slave_enabled = 1
修改后重启 MySQL 服务使配置永久生效。
基本上就这些。只要主从复制已通,插件安装正确,再按步骤开启参数,就能顺利启用半同步复制。注意监控超时情况,避免因网络问题导致主库退化为异步模式。
以上就是mysql如何配置半同步复制_mysql半同步复制配置方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号