我想运行一个半同步复制设置,为了简单起见,当从站提升为主站时,我不想安装和卸载插件。所以我想知道如果我将体验任何问题都安装并启用主机和从机插件(见这里)
看起来在安装第二个插件后,两个变量rpl_semi_sync_master_enabled
和rpl_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,两个插件都已加载并启用。
这会给我带来任何问题吗?
我正在研究MySQL Semisynchronous Replication,我对工作流程的理解如下:
rpl_semi_sync_master_timeout
几毫秒以接收来自至少一个从站的确认我的问题是,在任何时候,这种类型的复制都确保事务在从属上执行(SQL_TREAD
应用它)。考虑到它会在每个事务上增加延迟,并且在 master 失败的情况下,不能 100% 保证 slave 与 master 一致,使用这种类型的复制有什么好处?