如何执行就地升级 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

如何执行就地升级

我们建议您查看 Aurora MySQL 主要版本就地升级的工作原理中的背景材料。

为 Aurora MySQL 集群计划主要版本升级中所述执行任何升级前的计划和测试。

以下示例将 mydbcluster-cluster 数据库集群升级到 Aurora MySQL 版本 3.04.1。

要升级 Aurora MySQL 数据库集群的主要版本
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 如果您将自定义参数组用于原始数据库集群,请创建与新的主要版本兼容的相应参数组。对这个新参数组中的配置参数进行任何必要的调整。有关更多信息,请参阅“就地升级如何影响集群的参数组”。

  3. 在导航窗格中,选择 Databases (数据库)

  4. 在列表中,选择您要修改的数据库集群。

  5. 选择 Modify (修改)

  6. 对于 Version(版本),选择新的 Aurora MySQL 主要版本。

    我们通常建议使用主要版本的最新次要版本。在这里,我们选择当前的默认版本。

    Aurora MySQL 数据库集群从版本 2 就地升级到版本 3
  7. 选择 Continue (继续)

  8. 在下一页上,指定何时执行升级。选择 During the next scheduled maintenance window(在下一个计划的维护时段内)或 Immediately(立即)。

  9. (可选)在升级过程中定期检查 RDS 控制台中的 Events(事件)页面。这样做可以帮助您监控升级进度并识别问题。如果升级遇到任何问题,请参阅Aurora MySQL 就地升级的故障排除以了解要采取的步骤。

  10. 如果您在此过程开始时创建了一个新的参数组,请将自定义参数组与升级的集群关联起来。有关更多信息,请参阅 就地升级如何影响集群的参数组

    注意

    执行此步骤需要您再次重新启动集群以应用新的参数组。

  11. (可选)完成任何升级后测试后,请删除升级开始时 Aurora 创建的手动快照。

要升级 Aurora MySQL 数据库集群的主要版本,请结合使用 Amazon CLI modify-db-cluster 命令与以下所需的参数:

  • --db-cluster-identifier

  • --engine-version

  • --allow-major-version-upgrade

  • --apply-immediately 或者 --no-apply-immediately

如果您的集群使用任何自定义参数组,则还要包含以下一个或两个选项:

  • --db-cluster-parameter-group-name,如果集群使用自定义集群参数组

  • --db-instance-parameter-group-name,如果集群中的任何实例使用自定义数据库参数组

以下示例将 sample-cluster 数据库集群升级到 Aurora MySQL 版本 3.04.1。升级会立即进行,而不是等待下一个维护时段。

对于 Linux、macOS 或 Unix:

aws rds modify-db-cluster \ --db-cluster-identifier sample-cluster \ --engine-version 8.0.mysql_aurora.3.04.1 \ --allow-major-version-upgrade \ --apply-immediately

对于 Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier sample-cluster ^ --engine-version 8.0.mysql_aurora.3.04.1 ^ --allow-major-version-upgrade ^ --apply-immediately

您可以将其他 CLI 命令与 modify-db-cluster 结合使用,以创建执行和验证升级的自动端到端流程。有关更多信息以及示例,请参阅 Aurora MySQL 就地升级教程

注意

如果您的集群属于 Aurora 全局数据库的一部分,则就地升级程序会略有不同。您可以调用 modify-global-cluster 命令操作而不是 modify-db-cluster。有关更多信息,请参阅“全局数据库的就地主要版本升级”。

要升级 Aurora MySQL 数据库集群的主要版本,请结合使用 RDS API 操作 ModifyDBCluster 与以下所需的参数:

  • DBClusterIdentifier

  • Engine

  • EngineVersion

  • AllowMajorVersionUpgrade

  • ApplyImmediately(设置为 truefalse

注意

如果您的集群属于 Aurora 全局数据库的一部分,则就地升级程序会略有不同。您将调用 ModifyGlobalCluster 操作而不是 ModifyDBCluster。有关更多信息,请参阅“全局数据库的就地主要版本升级”。

就地升级如何影响集群的参数组

对于与 MySQL 5.7 或 8.0 兼容的集群,Aurora 参数组具有不同的配置设置集。执行就地升级时,升级后的集群及其所有实例必须使用相应的集群和实例参数组:

您的集群和实例可能使用与 5.7 兼容的原定设置参数组。如果是这样,则升级后的集群和实例将以与 8.0 兼容的原定设置参数组开始。如果您的集群和实例使用任何自定义参数组,则确保创建相应的与 8.0 兼容的参数组。此外,请确保在升级过程中指定这些参数组。

注意

对于大多数参数设置,您可以在两个点选择自定义参数组。也即,在您创建集群或稍后将参数组与集群关联时。

但是,如果您将非原定设置设置用于 lower_case_table_names 参数,则必须提前使用此设置来设置自定义参数组。然后,在执行快照还原操作以创建集群时指定参数组。创建集群后,lower_case_table_names 参数的任何更改不会产生任何影响。

我们建议您在从 Aurora MySQL 版本 2 升级到版本 3 时对 lower_case_table_names 使用相同的设置。

使用基于 Aurora MySQL 的 Aurora 全局数据库时,如果开启了 lower_case_table_names 参数,则无法执行从 Aurora MySQL 版本 2 到版本 3 的就地升级。有关可以使用的方法的更多信息,请参阅主要版本升级

重要

如果在升级过程中指定了任何自定义参数组,请确保在升级完成后手动重启集群。这样做会使集群开始使用您的自定义参数设置。

Aurora MySQL 版本之间的集群属性更改

当从 Aurora MySQL 版本 2 升级到版本 3 时,请确保检查用于设置或管理 Aurora MySQL 集群和数据库实例的任何应用程序或脚本。

此外,请更改操作参数组的代码,以考虑到原定设置参数组名称对于 5.7 和 8.0 兼容的集群各不相同这一事实。Aurora MySQL 版本 2 和 3 集群的原定设置参数组名称分别为 default.aurora-mysql5.7default.aurora-mysql8.0

例如,升级之前,您可能有适用于您的集群的类似以下内容的代码。

# Check the default parameter values for MySQL 5.7–compatible clusters. aws rds describe-db-parameters --db-parameter-group-name default.aurora-mysql5.7 --region us-east-1

升级集群的主要版本后,请按如下方式修改该代码。

# Check the default parameter values for MySQL 8.0–compatible clusters. aws rds describe-db-parameters --db-parameter-group-name default.aurora-mysql8.0 --region us-east-1

全局数据库的就地主要版本升级

对于 Aurora Global Database,您可升级全局数据库集群。Aurora 会同时自动升级所有集群,并确保所有集群运行相同的引擎版本。此要求是因为对系统表、数据文件格式等所做的任何更改都会自动复制到所有辅助集群。

按照Aurora MySQL 主要版本就地升级的工作原理中的说明进行操作。指定要升级的内容时,请确保选择全局数据库集群,而不是其包含的集群之一。

如果您使用 Amazon Web Services Management Console,请选择具有角色 Global database(全局数据库)的项目。

升级全局数据库集群

如果您使用 Amazon CLI 或 RDS API,请通过调用 modify-global-cluster 命令或 ModifyGlobalCluster 操作来启动升级过程。您可以使用其中一个操作来代替 modify-db-clusterModifyDBCluster

注意

在对该 Aurora 全局数据库执行主要版本升级时,无法为全局数据库集群指定自定义参数组。在全局集群的每个区域中创建自定义参数组。然后,在升级后手动将它们应用于区域集群。

要使用 Amazon CLI 升级 Aurora MySQL 全局数据库集群的主要版本,请结合使用 modify-global-cluster 命令与以下所需的参数:

  • --global-cluster-identifier

  • --engine aurora-mysql

  • --engine-version

  • --allow-major-version-upgrade

以下示例将全局数据库集群升级到 Aurora MySQL 版本 2.10.2。

对于 Linux、macOS 或 Unix:

aws rds modify-global-cluster \ --global-cluster-identifier global_cluster_identifier \ --engine aurora-mysql \ --engine-version 5.7.mysql_aurora.2.10.2 \ --allow-major-version-upgrade

对于 Windows:

aws rds modify-global-cluster ^ --global-cluster-identifier global_cluster_identifier ^ --engine aurora-mysql ^ --engine-version 5.7.mysql_aurora.2.10.2 ^ --allow-major-version-upgrade

回溯注意事项

如果您升级的集群启用了回溯功能,您无法将升级的集群回溯到升级之前的时间。