• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 检查和设置组复制通信协议版本的功能

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

    • 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");
      

      有关更多信息,请参见“设置组的通信协议版本”。