升级 Lightsail 数据库的主要版本 - Amazon Lightsail

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

升级 Lightsail 数据库的主要版本

当 Amazon Lightsail 支持新版本的数据库引擎时,您可以将数据库升级到新版本。Lightsail 提供了两个数据库蓝图,MySQL 和 PostgreSQL。本指南介绍如何升级 MySQL 或 PostgreSQL 数据库实例的主要版本。您只能使用 update-relational-databaseAPI 操作升级数据库主版本。

我们将使用 AWS CloudShell 来执行升级。 CloudShell 是一款基于浏览器的预先认证外壳,您可以直接从 Lightsail 控制台启动它。使用 CloudShell,您可以使用首选外壳运行 AWS Command Line Interface (AWS CLI) 命令,例如 Bash PowerShell、或 Z shell。您无需下载或安装命令行工具,即可完成此操作。有关如何设置和使用的 CloudShell更多信息,请参阅 Lightsai AWS CloudShell l 中的

了解变化

主要版本升级可能会引入与先前版本的许多不兼容之处。这些不兼容性可能会导致升级期间出现问题。您可能需要准备好数据库才能成功升级。有关升级数据库主要版本的信息,请参阅 MySQL 和 PostgreSQL 网站上的以下主题。

先决条件

  1. 确认您的应用程序支持数据库的两个主要版本。

  2. 我们建议您在进行任何更改之前创建数据库实例的快照。有关更多信息,请参阅创建 Lightsail 数据库的快照

  3. (可选)根据您刚刚创建的快照创建新的数据库实例。由于数据库更新需要停机,因此您可以在升级当前处于活动状态的数据库之前在新数据库上测试升级情况。有关创建数据库副本的更多信息,请参阅创建 Lightsail 数据库的快照

更新数据库主版本

Lightsail 支持 MySQL 和 PostgreSQL 数据库实例的主要版本升级。以下过程以 MySQL 数据库为例。但是,PostgreSQL 数据库的过程和命令是相同的。

完成以下过程以升级 Lightsail 数据库的数据库主版本。

  1. 登录 Lightsail 控制台

  2. 在左侧导航窗格中,选择数据库

  3. 记下要升级 AWS 区域 的数据库实例的名称和名称。

    Lightsail 控制台中新数据库实例的名称和区域。
  4. 在 Lightsail 控制台的左下角,选择。CloudShell CloudShell 终端将在同一个浏览器选项卡中打开。当系统显示命令提示符时,表示 shell 已经准备就绪,可以进行交互。

  5. 在 CloudShell 提示符下输入以下命令以获取可用数据库蓝图 ID 的列表。

    aws lightsail get-relational-database-blueprints
  6. 记下你要升级到的主要版本的蓝图 ID。例如,mysql_8_0

    CloudShell 窗口中 get-relational-database-blueprints 命令的响应。
  7. 输入以下命令升级数据库的主要版本。升级将在数据库的下一个维护时段内进行。在命令中,将DatabaseName替换为数据库的名称,将 BlueprintId 替换为要升级到的主要版本的蓝图 ID,DatabaseRegion替换为数据库所在 AWS 区域 的蓝图 ID。

    aws lightsail update-relational-database \ --relational-database-name DatabaseName \ --relational-database-blueprint-id blueprintId \ --region DatabaseRegion

    (可选)要立即应用升级,请在命令中包含--apply-immediately参数。您将看到类似于以下示例的响应,并且在应用升级时您的数据库将变为不可用。有关更多信息,请参阅 Lightsail API 参考update-relational-database中的。

    在窗口中执行 update-relational-database--apply-immedlity 命令的成功结果。 CloudShell
  8. 输入以下命令以验证是否已安排在下一个数据库维护时段进行主版本升级。在命令中,DatabaseName替换为数据库的DatabaseRegion名称和数据库所在 AWS 区域 的名称。

    aws lightsail get-relational-database \ --relational-database-name DatabaseName \ --region DatabaseRegion

    get-relational-database响应中,数据库会在下一个维护时段state通知您即将进行主要版本升级。您可以在响应部分中找到下一个维护时preferredMaintenanceWindow段的日期和时间。

    数据库实例状态

    "state": "upgrading", "backupRetentionEnabled": true, "pendingModifiedValues": { "engineVersion": "8.0.36"

    维护窗口

    "preferredMaintenanceWindow": "wed: 09:22-wed: 09:52"

后续步骤

如果您创建了测试数据库,则可以在确认您的应用程序可以与升级后的数据库配合使用后将其删除。保留您为先前数据库创建的快照,以备不时之需。您还应该为升级后的数据库创建快照,以便拥有该数据库的新 point-in-time 副本。