group-replication-changing-primary-member.md 2.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
#### 18.5.1.1更换团队的主要成员

[](<>)

本节介绍如何更改单个主组中的哪个成员是主组。用于更改组模式的功能可以在任何成员上运行。

##### 更改主要成员

[](<>)[](<>)[](<>)[](<>)

使用[`组\复制\设置\为\主()`](group-replication-functions-for-new-primary.html#function_group-replication-set-as-primary)函数更改单个主组中的主成员。如果对多主组的成员发出此函数,则该函数无效。

笔记

1.  只有主要成员才能从外部源接收数据并将其写入组。如果除组复制通道外,现有主成员上正在运行标准源到副本复制通道,则只能在该复制通道停止后更改主成员。

2.  如果组正在等待任何未提交的事务,则在提交、回滚或终止这些事务之前,操作无法完成。

    如果在运行8.0.17版本的MySQL服务器的成员上调用该函数,并且所有成员都运行8.0.17版本或更高版本的MySQL服务器,则只能根据补丁版本指定一个运行组中最低版本MySQL服务器的新主成员。该保障措施用于确保集团保持与新功能的兼容性。如果任何成员运行的MySQL服务器版本介于MySQL 8.0.13和MySQL 8.0.16之间,则不会对该组强制执行此保护,您可以指定任何新的主成员,但建议选择运行该组中最低MySQL服务器版本的主成员。

    通过考试[`服务器_uuid`](replication-options.html#sysvar_server_uuid)您希望通过以下方式成为组的新主要成员:


```
SELECT group_replication_set_as_primary(member_uuid);
```

当操作运行时,您可以通过发出以下命令来检查其进度:

```
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/Primary Election: Waiting for members to turn on super_read_only |              3 |              5 |
+----------------------------------------------------------------------------------+----------------+----------------+
```