首先确认主从复制正常运行,再在主库和从库上安装半同步插件并配置my.cnf参数,接着重启从库I/O线程,最后通过状态变量验证半同步是否生效。

MySQL启用半同步复制需要在主库和从库上安装特定插件,并配置相关参数。整个过程并不复杂,但需确保主从复制已正常运行。
半同步复制是建立在异步复制基础上的,因此先要确保主从之间的基本复制工作正常:
在主库和从库上分别加载半同步插件:
主库操作:INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
从库操作:
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
注意:某些系统中文件名可能是 semisync_master.dll 或 .so,根据操作系统调整。可通过以下命令验证是否安装成功:
SHOW PLUGINS; 查找 rpl_semi_sync_master / slave 是否为 ACTIVE
修改主从数据库的配置文件 my.cnf,添加对应配置项。
主库配置:
[mysqld]
rpl_semi_sync_master_enabled = 1
rpl_semi_sync_master_timeout = 10000 # 超时时间,单位毫秒(默认10秒)
从库配置:
[mysqld]
rpl_semi_sync_slave_enabled = 1
配置完成后重启 MySQL 服务或动态生效(插件已加载的情况下)。
从库启用插件后,需要重启I/O线程才能使半同步生效:
STOP SLAVE IO_THREAD;
START SLAVE IO_THREAD;
在主库执行以下命令查看半同步是否启用成功:
SHOW STATUS LIKE 'Rpl_semi_sync_master_status';
如果返回 ON,说明主库已处于半同步模式。
在从库查看:
SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
应显示 ON,表示从库已准备好接收半同步事件。
其他有用的状态变量:
基本上就这些。只要主从复制基础稳定,启用半同步复制的过程很直接。注意监控超时和状态变化,避免因网络问题导致自动退化为异步复制。
以上就是mysql如何启用半同步复制的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号