Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Upgrading a Group Replication Member

20.8.3.2 升级组复制成员

本节解释了升级组成员所需的步骤。该过程是描述在第 20.8.3.3 节,“组复制在线升级方法”中的方法的一部分。升级组成员的过程对所有方法都是通用的,并且首先解释。您加入升级成员的方式可能取决于您所遵循的方法,以及其他因素,如组是否在单主模式或多主模式下运行。使用何种方法升级服务器实例,不会影响这里描述的方法。

升级成员的过程包括从组中删除成员,按照您选择的方法升级成员,然后重新加入升级的成员到组中。在单主组中,升级所有次要成员,然后升级主要成员的推荐顺序。如果在升级次要成员之前升级主要成员,将选择一个使用旧版本 MySQL 的新主要成员,但这步骤不是必需的。

要升级组成员:

  • 连接到组成员并发出 STOP GROUP_REPLICATION。在继续之前,请确保成员的状态是 OFFLINE,通过监控 replication_group_members 表。

  • 禁用组复制自动启动,以便在升级后安全地连接到成员并配置它,而不让它重新加入组,通过设置 group_replication_start_on_boot=0

    Important

    如果升级的成员具有 group_replication_start_on_boot=1,那么它可能在您执行 MySQL 升级过程之前重新加入组,从而导致问题。例如,如果升级失败并且服务器重新启动,那么可能损坏的服务器可能会尝试加入组。

  • 停止成员,例如使用 mysqladmin shutdownSHUTDOWN 语句。组中的其他成员继续运行。

  • 升级成员,使用就地或 provision 方法。请参阅 第 3 章,《升级 MySQL》 了解详细信息。当重新启动升级的成员时,因为 group_replication_start_on_boot 设置为 0,组复制不会在实例上启动,因此它不会重新加入组。

  • 一旦在成员上执行了 MySQL 升级过程,group_replication_start_on_boot 必须设置为 1,以确保组复制在重新启动后正确启动。重新启动成员。

  • 连接到升级的成员并发出 START GROUP_REPLICATION。这将重新加入成员到组中。组复制元数据已经在升级的服务器上,因此通常不需要重新配置组复制。服务器需要赶上组中处理的交易,然后它将成为组中的在线成员。

    Note

    升级服务器所需的时间越长,成员离线的时间越长,因此重新加入组时需要赶上的时间也越长。

当升级的成员加入具有早期 MySQL 服务器版本的组时,升级的成员将以 super_read_only=on 加入组。这确保了在所有成员都升级到新版本之前,不会对升级的成员进行写入。在多主模式组中,当升级完成并且组准备好处理交易时,旨在作为可写主服务器的成员必须设置为读写模式。当组中的所有成员都升级到同一版本时,它们将自动切换回读写模式。