在在线升级过程中,如果组处于单主模式,则当前未脱机进行升级的所有服务器的功能与以前相同。组会在必要时选举新的主服务器,遵循 第 20.1.3.1 节“单主模式” 中所述的选举策略。请注意,如果您要求主服务器始终保持不变(除非它本身正在升级),则必须首先将所有从服务器升级到高于或等于目标主服务器版本的版本,然后再升级主服务器最后。除非主服务器运行的是组中最低的 MySQL 服务器版本,否则它不能继续作为主服务器。升级主服务器后,您可以使用 group_replication_set_as_primary()
函数将其重新指定为主服务器。
如果组处于多主模式,则在升级过程中,可用于执行写入的在线成员会减少,因为升级后的成员在升级后会以只读模式加入。当所有成员都已升级到相同的版本时,它们都会自动更改回读写模式。
为了处理问题情况,例如,如果您必须将升级回滚到以前的版本,或者在紧急情况下向组添加额外的容量,则可以允许成员从其他版本无法加入在线组。不推荐使用的组复制系统变量 group_replication_allow_local_lower_version_join
可在这种情况下用于覆盖正常的兼容性策略。
将 group_replication_allow_local_lower_version_join
设置为 ON
并不会 使新成员与组兼容;这样做允许它加入组,而不会受到任何针对现有成员不兼容行为的保护。因此,必须仅在特定情况下谨慎使用此选项,并且您必须采取额外的预防措施,以避免新成员由于正常的组活动而失败。有关更多信息,请参阅此变量的说明。
您应该注意,group_replication_allow_local_lower_version_join
已弃用;预计它将在未来版本的 MySQL 中被删除。设置它会生成 ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT
级别的警告。没有计划替代。