以下函数允许您检查和配置复制组使用的组复制通信协议版本。
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() | +------------------------------------------------+ | 9.0.0 | +------------------------------------------------+
有关更多信息,请参见 章节 20.5.1.4, “设置组的通信协议版本”.
group_replication_set_communication_protocol()
降低组的组复制通信协议版本,以便较早版本的成员可以加入,或者在所有成员上升级 MySQL 服务器后,升级组的组复制通信协议版本。使用此函数需要
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");
有关更多信息,请参见 章节 20.5.1.4, “设置组的通信协议版本”.