14.18.1.4 组复制通信协议版本检查和设置函数
以下函数允许您检查和配置组复制通信协议版本,该版本用于复制组。
-
group_replication_get_communication_protocol()
检查当前用于组的Group Replication通信协议版本。
语法:
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.4.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节,“设置群组的通信协议版本”。
-