18.8.1.1 升级期间的成员版本

在在线升级过程中,如果该组处于单主模式,则所有当前未离线升级的服务器都像以前一样运行。该组会在必要时根据 第 18.1.3.1 节“单主节点模式”中描述的选举策略选出一个新的主节点. 请注意,如果您要求主要成员始终保持不变(除非它正在升级自身),则必须首先将所有次要成员升级到高于或等于目标主要成员版本的版本,然后最后升级主要成员。除非主服务器运行组中最低的 MySQL 服务器版本,否则主服务器不能保持为主服务器。升级主节点后,您可以使用该 group_replication_set_as_primary() 函数将其重新指定为主节点。

如果组处于多主模式,则在升级过程中可用于执行写入的在线成员较少,因为升级后的成员在升级后以只读模式加入。从 MySQL 8.0.17 开始,这适用于补丁版本之间的升级,对于较低版本,这仅适用于主要版本之间的升级。当所有成员都升级到同一个版本时,从 MySQL 8.0.17 开始,他们都自动变回读写模式。对于较早的版本,您必须在升级后应作为主要成员运行的每个成员上手动 super_read_only设置 。OFF

为了处理问题情况,例如,如果您必须回滚升级或在紧急情况下向群组添加额外容量,可以允许成员加入在线群组,尽管它运行的 MySQL Server 版本低于其他组成员使用的最低版本。group_replication_allow_local_lower_version_join 在这种情况下可以使用Group Replication 系统变量 来覆盖正常的兼容性策略。请务必注意,将选项设置为ON不使新成员与组兼容,并允许它加入组,而没有任何防止现有成员不兼容行为的保护措施。因此,该选项必须仅在特定情况下谨慎使用,并且您必须采取额外的预防措施以避免新成员因正常的组活动而失败。有关这些注意事项的详细信息,请参阅 的说明 group_replication_allow_local_lower_version_join