#### 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 |
+----------------------------------------------------------------------------------+----------------+----------------+
```
