以下函数使您可以检查和配置组复制通信协议版本,该版本由复制组使用。
-
group_replication_get_communication_protocol()
检查当前组复制通信协议版本。
语法:
STRING group_replication_get_communication_protocol()
该函数没有参数。
返回值:
返回当前组复制通信协议版本的最低 MySQL Server 版本,该版本可以加入该组并使用该组的通信协议。请注意,
group_replication_get_communication_protocol()
函数返回的最低 MySQL 版本可能与传递给group_replication_set_communication_protocol()
的版本号不同,也可能与安装在成员上的 MySQL Server 版本不同。如果无法检查协议,因为该服务器实例不属于复制组,则返回错误字符串。
示例:
SELECT group_replication_get_communication_protocol(); +------------------------------------------------+ | group_replication_get_communication_protocol() | +------------------------------------------------+ | 8.3.0 | +------------------------------------------------+
有关更多信息,请参阅 第 20.5.1.4 节,“设置组的通信协议版本”。
-
group_replication_set_communication_protocol()
降低组复制通信协议版本,以便早期版本的成员可以加入,或者升级组复制通信协议版本,后续升级 MySQL Server 的所有成员。需要
GROUP_REPLICATION_ADMIN
权限来使用该函数,并且所有现有组成员必须在线,且没有多数损失。Note对于 MySQL InnoDB 集群,通信协议版本将自动管理在 AdminAPI 操作中更改集群拓扑结构时。您不需要自己使用这些函数来管理 InnoDB 集群。
语法:
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");
有关更多信息,请参阅 第 20.5.1.4 节,“设置组的通信协议版本”。
-