15.4.3.1 启动组复制语句
START GROUP_REPLICATION
[USER='user_name']
[, PASSWORD='user_pass']
[, DEFAULT_AUTH='plugin_name']
启动组复制。该语句需要GROUP_REPLICATION_ADMIN
特权(或弃用的SUPER
特权)。如果super_read_only=ON
设置且成员应该作为主服务器加入,super_read_only
将被设置为OFF
,一旦Group Replication成功启动。
参与组的服务器在单主模式下应该使用skip_replica_start=ON
。否则,服务器不允许作为次要服务器加入组。
您可以在START GROUP_REPLICATION
语句中使用USER
、PASSWORD
和DEFAULT_AUTH
选项来指定分布式恢复的用户凭证,例如:
-
USER
:分布式恢复的复制用户。有关设置该账户的指南,请参阅第20.2.1.3节,“User Credentials For Distributed Recovery”。您不能指定空或null字符串,也不能省略USER
选项,如果指定了PASSWORD
。 -
PASSWORD
:复制用户账户的密码。密码不能加密,但在查询日志中将被mask。 -
DEFAULT_AUTH
:用于复制用户账户的身份验证插件。如果不指定该选项,MySQL原生身份验证(mysql_native_password
插件)将被假设。该选项将服务器的提示,分布式恢复的捐赠者将覆盖该选项,如果在捐赠服务器上关联的用户账户使用不同的插件。MySQL 8中创建用户账户时默认使用的身份验证插件是缓存 SHA-2身份验证插件(caching_sha2_password
)。请参阅第8.2.17节,“Pluggable Authentication”了解更多关于身份验证插件的信息。
这些凭证用于group_replication_recovery
通道上的分布式恢复。当您在START GROUP_REPLICATION
语句中指定用户凭证时,凭证将被保存在内存中,只有在STOP GROUP_REPLICATION
语句或服务器关闭时被删除。您必须再次执行START GROUP_REPLICATION
语句来提供凭证。这一方法因此不兼容自动在服务器启动时启动 Group Replication,如指定group_replication_start_on_boot
系统变量。
在 START GROUP_REPLICATION
中指定的用户凭证优先于使用 CHANGE REPLICATION SOURCE TO
设置的用户凭证来配置 group_replication_recovery
通道。请注意,使用这些语句设置的用户凭证将被存储在复制元数据存储库中,并在没有指定用户凭证时使用 START GROUP_REPLICATION
,包括自动启动,如果 group_replication_start_on_boot
系统变量设置为 ON
。要获得指定用户凭证的安全性,请确保 group_replication_start_on_boot
设置为 OFF
(默认为 ON
),并清除之前为 group_replication_recovery
通道设置的用户凭证,按照 第20.6.3节,“Securing Distributed Recovery Connections” 的说明进行操作。
在复制组成员重新加入时,它的状态可能显示为 OFFLINE
或 ERROR
,直到组完成相容性检查并接受它为成员。当成员正在与组的事务同步时,它的状态为 RECOVERING
。