文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  更改组模式

20.5.1.2 更改组模式

本节介绍如何更改组运行的模式,无论是单主还是多主。用于更改组模式的函数可以在任何成员上运行。

更改为单主模式

使用 group_replication_switch_to_single_primary_mode() 函数通过发出以下命令将运行在多主模式下的组更改为单主模式

SELECT group_replication_switch_to_single_primary_mode()

更改为单主模式时,所有组成员上的严格一致性检查也会被禁用,这是单主模式所需的 (group_replication_enforce_update_everywhere_checks=OFF).

如果未传入任何字符串,则在生成的单主组中选举新的主节点将遵循 第 20.1.3.1 节,“单主模式” 中描述的选举策略。要覆盖选举过程并配置多主组的特定成员作为新主节点,请获取成员的 server_uuid 并将其传递给 group_replication_switch_to_single_primary_mode()。例如,发出以下命令

SELECT group_replication_switch_to_single_primary_mode(member_uuid);
更改为多主模式

使用 group_replication_switch_to_multi_primary_mode() 函数通过发出以下命令将运行在单主模式下的组更改为多主模式

SELECT group_replication_switch_to_multi_primary_mode()

经过一些协调的组操作以确保数据的安全性和一致性后,属于该组的所有成员都将成为主节点。

将运行在单主模式下的组更改为运行在多主模式下时,如果运行的 MySQL 服务器版本高于组中最低版本,则运行 MySQL 8.0.17 或更高版本的成员将自动置于只读模式。运行 MySQL 8.0.16 或更低版本的成员不会执行此检查,并且始终置于读写模式。

在操作执行期间,可以通过发出以下命令检查其进度

SELECT event_name, work_completed, work_estimated FROM performance_schema.events_stages_current WHERE event_name LIKE "%stage/group_rpl%";
+----------------------------------------------------------------------+----------------+----------------+
| event_name                                                           | work_completed | work_estimated |
+----------------------------------------------------------------------+----------------+----------------+
| stage/group_rpl/Multi-primary Switch: applying buffered transactions |              0 |              1 |
+----------------------------------------------------------------------+----------------+----------------+