Documentation Home
MySQL 8.0 参考手册  / 第 13 章 SQL 语句  / 13.4 复制语句  / 13.4.3 控制组复制的SQL语句  /  13.4.3.6 组复制通信协议版本检查和设置函数

13.4.3.6 组复制通信协议版本检查和设置函数

以下功能使您能够检查和配置复制组使用的组复制通信协议版本。

  • group_replication_get_communication_protocol()

    检查当前用于组的组复制通信协议版本。

    句法:

    STRING group_replication_get_communication_protocol()

    这个函数没有参数。

    返回值:

    可以加入该组并使用该组通信协议的最旧的 MySQL 服务器版本。请注意,该 group_replication_get_communication_protocol() 函数返回组支持的最低 MySQL 版本,这可能与传递给该 group_replication_set_communication_protocol() 函数的版本号不同,也与安装在您使用该函数的成员上的 MySQL 服务器版本不同。

    如果由于此服务器实例不属于复制组而无法检查协议,则会以字符串形式返回错误。

    例子:

    SELECT group_replication_get_communication_protocol();
    +------------------------------------------------+
    | group_replication_get_communication_protocol() |
    +------------------------------------------------+
    | 8.0.16                                         |
    +------------------------------------------------+

    有关详细信息,请参阅 第 18.5.1.4 节,“设置组的通信协议版本”

  • group_replication_set_communication_protocol()

    降级一个组的Group Replication通信协议版本,使早期版本的成员可以加入,或者在升级所有成员的MySQL Server后,升级一个组的Group Replication通信协议版本。使用 GROUP_REPLICATION_ADMIN 此功能需要权限,并且在您发出声明时所有现有的组成员都必须在线,并且不能失去多数。

    笔记

    对于 MySQL InnoDB 集群,只要使用 AdminAPI 操作更改集群拓扑,就会自动管理通信协议版本。您不必自己为 InnoDB 集群使用这些功能。

    句法:

    STRING group_replication_set_communication_protocol(version)

    参数:

    • version:对于降级,请指定具有最旧安装服务器版本的预期组成员的 MySQL 服务器版本。在这种情况下,如果可能,该命令会使组回退到与该服务器版本兼容的通信协议。您可以指定的最低服务器版本是 MySQL 5.7.14。对于升级,指定现有组成员已升级到的新 MySQL 服务器版本。

    返回值:

    包含操作结果的字符串,例如操作是否成功。

    例子:

    SELECT group_replication_set_communication_protocol("5.7.25");

    有关详细信息,请参阅 第 18.5.1.4 节,“设置组的通信协议版本”