本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
升级 Lightsail 数据库的主要版本
如果 Amazon Lightsail 支持数据库引擎的新版本,您可以将数据库升级到新版本。Lightsail 提供两种数据库蓝图:MySQL 和 PostgreSQL。本指南介绍如何升级 MySQL 或 PostgreSQL 数据库实例的主要版本。您仅可通过使用 update-relational-database API 操作来升级数据库主要版本。
我们将使用 AWS CloudShell 来执行升级。CloudShell 是一个基于浏览器的预先验证 shell,您可以直接从 Lightsail 控制台中启动此 shell。借助 CloudShell,您可以使用自己喜爱的 shell(Bash、PowerShell 或 Z shell)来运行 AWS Command Line Interface(AWS CLI)命令。您无需下载或安装命令行工具,即可完成此操作。有关如何设置和使用 CloudShell 的更多信息,请参阅 Lightsail 中的 AWS CloudShell。
了解更改
主要版本升级可能会引入与先前版本的许多不兼容之处。在升级期间,这些不兼容性会引起问题。为成功执行升级,可能需要准备数据库。有关升级数据库主要版本的信息,请参阅 MySQL 和 PostgreSQL 网站上的以下主题。
先决条件
-
确认您的应用程序支持数据库的两个主要版本。
-
建议您在进行任何更改之前创建数据库实例的快照。有关更多信息,请参阅创建 Lightsail 数据库的快照。
-
(可选)根据刚创建的快照创建新的数据库实例。由于数据库更新需要停机时间,因此您可以在升级当前处于活动状态的数据库之前,在新数据库上测试升级情况。有关建立数据库副本的更多信息,请参阅创建 Lightsail 数据库的快照。
更新数据库主要版本
Lightsail 支持 MySQL 和 PostgreSQL 数据库实例的主要版本升级。以下过程以 MySQL 数据库为例。但是,PostgreSQL 数据库的过程和命令是相同的。
完成以下过程以升级 Lightsail 数据库的数据库主要版本。
-
登录 Lightsail 控制台
。 -
在左侧导航窗格中,选择数据库。
-
记下您要升级的数据库实例的名称和 AWS 区域。
-
在 Lightsail 控制台的左下角,选择 CloudShell。CloudShell 终端将在同一浏览器选项卡中打开。当系统显示命令提示符时,表示 shell 已经准备就绪,可以进行交互。
-
在 CloudShell 提示符中输入以下命令以获取可用的数据库蓝图 ID 列表。
aws lightsail get-relational-database-blueprints -
记下您要升级的主要版本的蓝图 ID。例如
mysql_8_0。
-
输入以下命令以升级数据库的主要版本。升级将在数据库的下一个维护时段内进行。在命令中,将
DatabaseName替换为数据库名称,将blueprintId替换为要升级的主要版本的蓝图 ID,将DatabaseRegion替换为数据库所在的 AWS 区域。aws lightsail update-relational-database \ --relational-database-nameDatabaseName\ --relational-database-blueprint-idblueprintId\ --regionDatabaseRegion(可选)要立即应用升级,请在命令中包含
--apply-immediately参数。您将看到与以下示例类似的响应,并且在应用升级时数据库将不可用。有关更多信息,请参阅 https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html API 参考中的 update-relational-databaseLightsail。
-
输入以下命令以验证是否已计划在下一个数据库维护时段进行主要版本升级。在命令中,将
DatabaseName替换为数据库名称,将DatabaseRegion替换为数据库所在的 AWS 区域。aws lightsail get-relational-database \ --relational-database-nameDatabaseName\ --regionDatabaseRegion在
get-relational-database响应中,数据库 state 会在下一个维护时段通知您即将进行主要版本升级。您可以在响应的 preferredMaintenanceWindow 部分中找到下一个维护时段的日期和时间。数据库实例状态
"state": "upgrading", "backupRetentionEnabled": true, "pendingModifiedValues": { "engineVersion": "8.0.36"维护时段
"preferredMaintenanceWindow": "wed: 09:22-wed: 09:52"
后续步骤
如果您创建测试数据库,则可以在确认应用程序可以与升级数据库结合使用后将其删除。保留您为先前数据库创建的快照,以备不时之需。您还应该为升级后的数据库创建快照,以便拥有该数据库的新时间点副本。