# 18.5.1.1更换团队的主要成员
本节介绍如何更改单个主组中的哪个成员是主组。用于更改组模式的功能可以在任何成员上运行。
# 更改主要成员
使用组\复制\设置\为\主()
函数更改单个主组中的主成员。如果对多主组的成员发出此函数,则该函数无效。
笔记
只有主要成员才能从外部源接收数据并将其写入组。如果除组复制通道外,现有主成员上正在运行标准源到副本复制通道,则只能在该复制通道停止后更改主成员。
如果组正在等待任何未提交的事务,则在提交、回滚或终止这些事务之前,操作无法完成。
如果在运行8.0.17版本的MySQL服务器的成员上调用该函数,并且所有成员都运行8.0.17版本或更高版本的MySQL服务器,则只能根据补丁版本指定一个运行组中最低版本MySQL服务器的新主成员。该保障措施用于确保集团保持与新功能的兼容性。如果任何成员运行的MySQL服务器版本介于MySQL 8.0.13和MySQL 8.0.16之间,则不会对该组强制执行此保护,您可以指定任何新的主成员,但建议选择运行该组中最低MySQL服务器版本的主成员。
通过考试
服务器_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 |
+----------------------------------------------------------------------------------+----------------+----------------+