我有一个 Amazon Aurora MySQL 兼容数据库集群,它当前正在运行版本 2.x。如何将其升级到与 Aurora MySQL 兼容的 3.x 版?
简短描述
Amazon Aurora 版本 2.x 与 MySQL 5.7 兼容,并且 Amazon Aurora 版本 3.x 与 MySQL 8.0 兼容。目前,Amazon Relational Database Service (Amazon RDS) 不允许将 Aurora MySQL 2.x 集群就地升级到 Aurora MySQL 3.x。.就地升级仅适用于从 Aurora MySQL 1.x 集群升级到 Aurora MySQL 2.x。
**注意:**首先在非生产数据库集群上执行更新。然后,监控新版本中的更改对您的实例和应用程序有何影响。
使用以下方法将 Amazon Aurora MySQL 数据库集群从版本 2.x 升级到版本 3.x:
- 拍摄数据库集群的快照,然后将其还原到 Aurora MySQL 3.x
- 设置手动复制以切换您的服务
- 使用 AWS Database Migration Service (AWS DMS) 迁移您的服务
注意:停机时间取决于您使用的方法。
解决方法
使用快照进行升级
按照以下步骤使用快照从 Aurora MySQL 2.x 升级到 Aurora MySQL 3.x:
- 打开 AWS RDS 控制台。
- 从导航窗格中,选择数据库,然后选择您的 Aurora 2.x 数据库集群。
- 选择操作,然后选择拍摄快照。
- 从导航窗格中选择快照。
- 创建数据库集群的快照后,选择该快照,然后选择操作。
- 选择还原快照。
- 在实例规范部分,对于数据库引擎版本,请选择一个可用的 **Aurora 3.x (与 MySQL 8.0.23 兼容)**版本。
- 输入配置详细信息,然后选择还原数据库实例。
当 Aurora 3.x 集群可用后,您可以将连接重定向到新数据库实例。
**注意:**如果您使用快照将 Aurora 数据库集群从版本 2.x 升级到版本 3.x,并且您的数据库支持实时应用程序,请在拍摄快照之前停止该应用程序。这样可以确保您不会丢失最近对数据所做的更改。停机时间从开始创建快照到新数据库创建并进入运行状态为止。
使用手动复制进行升级
**注意:**当您设置手动复制以升级应用程序时,从 Aurora MySQL 2.x 切换到 Aurora MySQL 3.x 时会出现停机。
- 在源 Aurora MySQL 2.x 数据库集群上启用二进制日志。
- 增加数据库集群的保留期。
- 拍摄 Aurora MySQL 2.x 数据库集群的快照。
- 将快照还原到 Aurora MySQL 版本 3.x。
- 从还原的数据库集群中捕获二进制日志位置。
- 开始从 Aurora MySQL 2.x 复制到 Aurora MySQL 3.x。有关更多信息,请参阅使用外部源实例配置二进制日志文件位置复制。
复制同步后,将您的应用程序指向 Aurora MySQL 3.x。
使用 AWS DMS 进行升级
您还可以使用 AWS DMS 来升级应用程序,这可最大限度地减少停机时间。此升级比之前的选项更复杂。要执行此迁移,请创建 Aurora MySQL 数据库实例版本 3.x。然后,使用 AWS DMS 执行从 Aurora MySQL 版本 2.x 到 3.x 的数据复制。当应用程序移动到 Aurora MySQL 3.x 时会出现停机。
相关信息
创建数据库集群快照
从数据库集群快照还原
开始使用 AWS Database Migration Service