文档首页
MySQL 9.0 参考手册
相关文档 下载此手册
PDF (美国字母) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  组复制通道的权限检查

19.3.3.2 组复制通道的权限检查

您也可以使用 PRIVILEGE_CHECKS_USER 帐户来保护组复制使用的两个复制应用程序线程。每个组成员上的 group_replication_applier 线程用于应用组事务,而每个组成员上的 group_replication_recovery 线程用于在成员加入或重新加入组时,作为分布式恢复的一部分从二进制日志中进行状态传输。

要保护这些线程之一,请停止组复制,然后使用 PRIVILEGE_CHECKS_USER 选项发出 CHANGE REPLICATION SOURCE TO 语句,并指定 group_replication_appliergroup_replication_recovery 作为通道名称。例如

mysql> STOP GROUP_REPLICATION;
mysql> CHANGE REPLICATION SOURCE TO PRIVILEGE_CHECKS_USER = 'gr_repl'@'%.example.com' 
          FOR CHANNEL 'group_replication_recovery';
mysql> FLUSH PRIVILEGES;
mysql> START GROUP_REPLICATION;

对于组复制通道,在创建通道时会自动启用 REQUIRE_ROW_FORMAT 设置,并且无法禁用,因此您无需指定它。

组复制要求每个要由组复制的表都必须定义主键或主键等效项,其中等效项是非空唯一键。组复制有自己的内置主键或主键等效项检查集,而不是使用由 sql_require_primary_key 系统变量执行的检查。您可以将 CHANGE REPLICATION SOURCE TO 语句的 REQUIRE_TABLE_PRIMARY_KEY_CHECK 选项设置为组复制通道的 ON。但是,请注意,您可能会发现某些在组复制的内置检查下允许的事务,在您设置 sql_require_primary_key = ONREQUIRE_TABLE_PRIMARY_KEY_CHECK = ON 时不允许。出于这个原因,新的和升级的组复制通道将 REQUIRE_TABLE_PRIMARY_KEY_CHECK 设置为默认值 STREAM,而不是 ON

如果远程克隆操作用于组复制中的分布式恢复(请参见 第 20.5.4.2 节,“克隆以进行分布式恢复”),则将捐赠者的 PRIVILEGE_CHECKS_USER 帐户和相关设置克隆到加入的成员。如果加入的成员设置为在启动时启动组复制,则它会自动使用该帐户来对相应的复制通道进行权限检查。