检查和设置组复制通信协议版本的功能
下列功能使您可以检查和配置复制组使用的组复制通信协议版本。
group_replication_get_communication_protocol()
检查当前用于组的“组复制”通信协议版本。
句法:
STRING group_replication_get_communication_protocol()
此功能没有参数。
返回值:
可以加入该组并使用该组的通信协议的最早的MySQL Server版本。MySQL 5.7.14的版本允许压缩消息,而MySQL 8.0.16的版本也允许消息分段。请注意,
group_replication_get_communication_protocol()
UDF返回该组支持的最低MySQL版本,该最低版本可能与传递给group_replication_set_communication_protocol()
UDF 的版本号以及使用UDF的成员上安装的MySQL Server版本不同。如果由于该服务器实例不属于复制组而无法检查协议,那么将以字符串形式返回错误。
例:
SELECT group_replication_get_communication_protocol(); +------------------------------------------------ + | group_replication_get_communication_protocol() | +------------------------------------------------ + | 8.0.16 | +------------------------------------------------ +有关更多信息,请参见“设置组的通信协议版本”。
group_replication_set_communication_protocol()
降级组的组复制通信协议版本,以便早期版本的成员可以在所有成员上升级MySQL Server之后加入或升级组的组复制通信协议版本。该
GROUP_REPLICATION_ADMIN
权限才能使用这个UDF,当你发出声明,没有广大的损失所有现有组成员必须在线。注意
对于MySQL InnoDB集群,每当使用AdminAPI操作更改集群拓扑时,都会自动管理通信协议版本。对于InnoDB集群,您不必自己使用这些UDF。
句法:
STRING group_replication_set_communication_protocol(version)
参数:
version
:对于降级,请指定具有最旧安装服务器版本的预期组成员的MySQL Server版本。在这种情况下,如果可能的话,该命令可使组退回到与该服务器版本兼容的通信协议。您可以指定的最低服务器版本是MySQL 5.7.14。要进行升级,请指定现有组成员已升级到的新MySQL Server版本。
返回值:
包含操作结果的字符串,例如是否成功。
例:
SELECT group_replication_set_communication_protocol("5.7.25");有关更多信息,请参见“设置组的通信协议版本”。