在同一台服务器上安装和启用主从半同步插件

jbe*_*man 5 mysql replication my.cnf semi-sync-replication

我想运行一个半同步复制设置,为了简单起见,当从站提升为主站时,我不想安装和卸载插件。所以我想知道如果我将体验任何问题安装并启用主机和从机插件(见这里

看起来在安装第二个插件后,两个变量rpl_semi_sync_master_enabledrpl_semi_sync_slave_enabled都被重置为关闭(非默认值)。当我将这些行包含在my.cnf

loose-rpl_semi_sync_master_enabled = 1
loose-rpl_semi_sync_slave_enabled = 1
Run Code Online (Sandbox Code Playgroud)

...并重新启动 MySQL,两个插件都已加载并启用。

这会给我带来任何问题吗?

Rol*_*DBA 4

这不会造成任何问题。我一直设置所有MySQL 5.5。具有两个插件的客户端的数据库服务器。事实上,我在 2011 年 8 月 5 日回答了一个问题,并于 2011 年 8 月 8 日发布了关于如何同时安装这两个插件的更新

请参阅MySQL 复制是否受到高延迟互连的影响?

这是该更新的摘录

摘抄

MySQL 5.5半同步复制的配置很简单

步骤 1) 将这四 (4) 行添加到 /etc/my.cnf

[mysqld]
plugin-dir=/usr/lib64/mysql/plugin
#rpl_semi_sync_master_enabled
#rpl_semi_sync_master_timeout=5000
#rpl_semi_sync_slave_enabled
Run Code Online (Sandbox Code Playgroud)

步骤2)重启MySQL

service mysql restart
Run Code Online (Sandbox Code Playgroud)

步骤 3) 在 MySQL 客户端中运行这些命令

INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
INSTALL PLUGIN rpl_semi_sync_slave  SONAME 'semisync_slave.so';
Run Code Online (Sandbox Code Playgroud)

步骤4)取消plugin-dir选项后面的三个rpm_semi_sync选项的注释

[mysqld]
plugin-dir=/usr/lib64/mysql/plugin
rpl_semi_sync_master_enabled
rpl_semi_sync_master_timeout=5000
rpl_semi_sync_slave_enabled
Run Code Online (Sandbox Code Playgroud)

步骤5)重启MySQL

service mysql restart
Run Code Online (Sandbox Code Playgroud)

全做完了 !!!现在只需照常设置 MySQL 复制即可。