

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

# 在 Lightsail 中创建和管理关系数据库
<a name="amazon-lightsail-databases"></a>

您可以通过几个步骤在 Amazon Lightsail 中创建 MySQL 或 PostgreSQL 托管数据库。Lightsail 通过管理常见的维护和安全任务，使数据库管理变得更加高效。使用 Lightsail 控制台，您可以：
+ 将数据库备份至快照。
+ 从快照创建一个较大型的新数据库。
+ 解决基于浏览器的日志和指标的常见问题。
+ 使用时间点备份和还原操作来恢复数据。

您可以在 Lightsail 实例上构建应用程序，并将其连接到 Lightsail 托管数据库。您还可以创建一个独立的数据库，并为公司连接分析或查询工具。从每月收取固定费用的标准或高可用性数据库计划中进行选择，包括预配置的数据库、基于 SSD 的存储和数据传输分配。您还可以使用 Lightsail (AWS Command Line Interface)、API 或 SDK 来管理 AWS CLI 数据库。

# 创建 Lightsail 数据库
<a name="amazon-lightsail-creating-a-database"></a>

在 Amazon Lightsail 中，几分钟内即可创建一个托管的数据库。您可以在 MySQL 或 PostgreSQL 的最新主要版本之间进行选择，并使用标准或高可用性计划配置数据库。

**注意**  
有关 Lightsail 中托管数据库的更多信息，请参阅[选择数据库](amazon-lightsail-choosing-a-database.md)。

**创建数据库**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 选择**创建数据库**。

1. 为数据库选择 AWS 区域 和可用区。

   1. 选择**更改 AWS 区域 和可用区**，然后选择一个区域。

   1. 选择**更改可用区**，然后选择一个可用区。

1. 选择数据库类型。在可用的数据库引擎选项之一下，选择下拉菜单，然后选择 Lightsail 支持的最新主要数据库版本之一。  
![\[在 Lightsail 控制台中选取数据库引擎。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-pick-your-database.png)

1. 如有必要，请选择以下选项之一：
   + **Specify login credentials (指定登录凭证)** – 指定自己的数据库用户名和密码。否则，Lightsail 将为您指定用户名并创建强密码。
     + 要指定自己的用户名，请选择 **Specify login credentials (指定登录凭证)**，然后在文本框中输入您的用户名。根据您选择的数据库引擎，将具有以下约束条件：

       **（MySQL**）
       + MySQL 所需条件。
       + 必须为 1 到 16 个字母或数字。
       + 第一个字符必须是字母。
       + 不能是所选数据库引擎的保留字。有关 MySQL 中保留字的更多信息，请参阅 [MySQL 5.6](https://dev.mysql.com/doc/refman/5.6/en/keywords.html)、[MySQL 5.7](https://dev.mysql.com/doc/refman/5.7/en/keywords.html) 或 [MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/keywords.html) 的关键字和保留字文章。

       **（PostgreSQL**）
       + PostgreSQL 所需条件。
       + 必须为 1 到 63 个字母或数字。
       + 第一个字符必须是字母。
       + 不能是所选数据库引擎的保留字。有关 PostgreSQL 中保留字的更多信息，请参阅 [PostgreSQL 9.6](https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html)、[PostgreSQL 10](https://www.postgresql.org/docs/10/sql-keywords-appendix.html)、[PostgreSQL 11](https://www.postgresql.org/docs/11/sql-keywords-appendix.html) 或 [PostgreSQL 12](https://www.postgresql.org/docs/12/sql-keywords-appendix.html) 的 SQL 关键字文章。
     + 要指定自己的密码，请清除 **Create a strong password for me (为我创建强密码)** 复选框，然后在文本框中输入您的密码。密码可以包含除“/”、“"”或“@”之外的任意可打印 ASCII 字符。对于 MySQL 数据库，密码可包含 8 到 41 个字符。对于 PostgreSQL 数据库，密码可包含 8 到 128 个字符。
   + **Specify the master database name (指定主数据库名称)** – 指定您自己的主数据库名称，或者由 Lightsail 为您指定名称。要指定您自己的主数据库名称，请选择 **Specify the master database name (指定主数据库名称)**，然后在文本框中输入名称。根据您选择的数据库引擎，将具有以下约束条件：

     **（MySQL**）
     + 必须包含 1 到 64 个字母或数字。
     + 必须以字母开头。后续字符可以是字母、下划线或数字（0-9）。
     + 不能是所选数据库引擎的保留字。有关 MySQL 中保留字的更多信息，请参阅 [MySQL 5.6](https://dev.mysql.com/doc/refman/5.6/en/keywords.html)、[MySQL 5.7](https://dev.mysql.com/doc/refman/5.7/en/keywords.html) 或 [MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/keywords.html) 的关键字和保留字文章。

     **（PostgreSQL**）
     + 必须包含 1 到 63 个字母、数字或下划线。
     + 必须以字母开头。后续字符可以是字母、下划线或数字（0-9）。
     + 不能是所选数据库引擎的保留字。有关 PostgreSQL 中保留字的更多信息，请参阅 [PostgreSQL 9.6](https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html)、[PostgreSQL 10](https://www.postgresql.org/docs/10/sql-keywords-appendix.html)、[PostgreSQL 11](https://www.postgresql.org/docs/11/sql-keywords-appendix.html) 或 [PostgreSQL 12](https://www.postgresql.org/docs/12/sql-keywords-appendix.html) 的 SQL 关键字文章。

1. 选择高可用性或标准数据库计划。

   利用高可用性计划创建的数据库在另一个可用区中具有主数据库和辅助备用数据库，以支持故障转移。有关更多信息，请参阅[高可用性数据库](amazon-lightsail-high-availability-databases.md)。我们提供了定价不同的数据库服务包选项，每个选项都有不同级别的内存、处理能力、存储空间和传输速率。

1. 输入数据库的名称。

   资源名称：
   + 在您 Lightsail 账户的各个 AWS 区域 中必须是唯一的。
   + 必须包含 2 到 255 个字符。
   + 必须以字母数字字符或数字作为开头和结尾。
   + 可以包括字母数字字符、数字、句点、连字符和下划线。

1. 选择以下选项之一，以将标签添加到数据库：
   + **添加“仅限键”标签**或**管理标签**（如果已添加标签）。在标签键文本框中输入新标签，然后按 **Enter**。在您输入标签以添加它们后，选择 **Save**（保存），或者选择 **Cancel**（取消）以取消添加。  
![\[Lightsail 控制台中仅包含键的标签。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-key-only-tags.png)
   + **创建一个键值标签**，然后在 **Key**（键）文本框中输入一个键，并在 **Value**（值）文本框中输入一个值。输入标签后，选择 **Save**（保存），或者选择 **Cancel**（取消）以取消添加。

     一次只能添加一个键值标签，然后进行保存。要添加多个键值标签，请重复前面的步骤。  
![\[Lightsail 控制台中的键值标签。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-key-value-tag.png)
**注意**  
有关“仅键”标签和键值标签的更多信息，请参阅[标签](amazon-lightsail-tags.md)。

1. 选择**创建数据库**。

   您的 Lightsail 数据库在几分钟内即可准备就绪。您可以开始配置数据库以便执行数据导入，或者使用数据库客户端连接该数据库。

## 后续步骤
<a name="creating-a-database-next-steps"></a>

以下是一些指南，用于在新数据库启动并运行后，帮助您在 Lightsail 中管理它们：
+ [为您的数据库配置数据导入模式](amazon-lightsail-configuring-database-data-import-mode.md)
+ [为 Amazon Lightsail 中的数据库配置公有模式](amazon-lightsail-configuring-database-public-mode.md)
+ [管理数据库密码](amazon-lightsail-managing-database-password.md)
+ [连接到 MySQL 数据库](amazon-lightsail-connecting-to-your-mysql-database.md)
+ [连接到 PostgreSQL 数据库](amazon-lightsail-connecting-to-your-postgres-database.md)
+ [将数据导入 MySQL 数据库](amazon-lightsail-importing-data-into-your-mysql-database.md)
+ [将数据导入 PostgreSQL 数据库](amazon-lightsail-importing-data-into-your-postgres-database.md)
+ [创建数据库的快照](amazon-lightsail-creating-a-database-snapshot.md)

# 为您的项目选择合适的 Lightsail 数据库引擎
<a name="amazon-lightsail-choosing-a-database"></a>

Amazon Lightsail 提供 MySQL 和 PostgreSQL 数据库的最新主要版本。本指南可帮助您确定适合您项目的数据库。

Lightsail 还提供带有 SQL Server 的 Windows Server 2022 实例。有关更多信息，请参阅[选择 Amazon Lightsail 实例镜像](compare-options-choose-lightsail-instance-image.md)。

## 比较 Lightsail 中的托管数据库
<a name="lightsail-compare-databases"></a>

**MySQL**

MySQL 5.7 和 8.0 在 Lightsail 中可用。MySQL 是应用最广泛的开源关系数据库。它用作许多常用网站、应用程序和商业产品的主关系数据存储。MySQL 是一种可靠、稳定且安全的基于 SQL 的数据库管理系统，拥有 20 多年的社区开发和支持历史。MySQL 数据库适用于各种使用案例，包括任务关键型应用程序和动态网站。它还用作软件、硬件和设备的嵌入式数据库。

**重要**  
从 2024 年 6 月 30 日起，Lightsail 将不再支持 MySQL 5.7，您将无法使用此蓝图创建新数据库。要了解如何升级数据库实例的主要版本，请参阅[升级 Lightsail 数据库的主要版本](amazon-lightsail-upgrade-database-major-version.md)。

有关更多信息，请参阅以下 MySQL 文档：
+ [MySQL 5.7 文档](https://dev.mysql.com/doc/refman/5.7/en/)
+ [MySQL 8.0 文档](https://dev.mysql.com/doc/refman/8.0/en/)

**PostgreSQL**

PostgreSQLLightsail 中有 12、13、14、15 和 16 可供选择。 PostgreSQL是一个功能强大的开源对象关系数据库系统，经过30多年的积极开发，在可靠性、功能稳健性和性能方面赢得了良好的声誉。

通过[官方文档](https://www.postgresql.org/docs/)，可找到大量描述如何安装和使用 PostgreSQL 的信息。[PostgreSQL 社区](https://www.postgresql.org/community/)提供了很多有用的位置，以熟悉技术、了解其工作原理并寻找就业机会。

**重要**  
从 2024 年 6 月 30 日起，Lightsail 将不再PostgreSQL支持 11 个，您将无法使用此蓝图创建新数据库。要了解如何升级数据库实例的主要版本，请参阅[升级 Lightsail 数据库的主要版本](amazon-lightsail-upgrade-database-major-version.md)。
PostgreSQL社区计划在 2024 年 11 月 14 日弃用 PostgreSQL 12 个，在此日期之后，从该蓝图启动的 Lightsail 实例将不会收到安全补丁。因此，亚马逊 Lightsail 将于 2025 年 2 月 28 日终止对 PostgreSQL 12 的标准支持。在 2025 年 2 月 28 日当天或之后，你将无法使用 PostgreSQL 12 创建新的 Lightsail 数据库。有关更多信息，请参阅 [PostgreSQL 网站](https://www.postgresql.org/support/versioning/)。

有关更多信息，请参阅 PostgreSQL 文档：
+ [PostgreSQL 11 文档](https://www.postgresql.org/docs/11/index.html)
+ [PostgreSQL 12 文档](https://www.postgresql.org/docs/12/index.html)
+ [PostgreSQL 13 文档](https://www.postgresql.org/docs/13/index.html)
+ [PostgreSQL 14 文档](https://www.postgresql.org/docs/14/index.html)
+ [PostgreSQL 15 文档](https://www.postgresql.org/docs/15/index.html)
+ [PostgreSQL 16 文档](https://www.postgresql.org/docs/16/index.html)

## 优化数据导入
<a name="optimizing-your-data-import"></a>

Lightsail 中提供了多个数据库计划，每个计划都有特定的内存、vCPU、存储和数据传输限额规格。由于每个数据库计划都有这些规范，因此为要导入新 Lightsail 数据库的数据量选择大小合适的数据库计划非常重要。如果您选择的计划低于大小要求，数据导入速度可能会减慢。使用以下准则，针对您的数据导入要求选择合适的数据库计划：
+ **Micro 15 美元 USD/month 数据库套餐** — 如果您传输的数据超过 10 GB，则数据导入速度可能会变慢。
+ **30 美元的小型 USD/month 数据库套餐** — 如果您传输的数据超过 20 GB，则数据导入速度可能会变慢。
+ **60 美元中型 USD/month 数据库套餐** — 如果您传输的数据超过 85 GB，则数据导入速度可能会变慢。
+ **115 美元的大型 USD/month 数据库套餐** — 如果您传输的数据超过 156 GB，则数据导入速度可能会变慢。
+ **Xlarge 230 美元 USD/month 数据库套餐** — 如果您传输的数据超过 156 GB，则数据导入速度可能会变慢。
+ **2Xlarge 460 美元的 USD/month 数据库套餐** — 如果您传输的数据超过 156 GB，则数据导入速度可能会变慢。

**注意**  
有关将数据导入数据库的更多信息，请参阅[将数据导入 MySQL 数据库](amazon-lightsail-importing-data-into-your-mysql-database.md)或[将数据导入 PostgreSQL 数据库](amazon-lightsail-importing-data-into-your-postgres-database.md)。

# Lightsail 中的高可用性数据库
<a name="amazon-lightsail-high-availability-databases"></a>

Lightsail 高可用性托管数据库提供故障转移支持，主数据库位于一个可用区，辅助备用数据库位于另一个可用区。如果生产工作负载存在大量使用问题并需要数据冗余，我们建议您使用高可用性数据库。如果是用于开发和测试，您可以使用不具有高可用性的标准数据库。

要创建高可用性数据库，请在创建托管数据库时选择 Lightsail 中提供的高可用性数据库计划之一。有关更多信息，请参阅[创建数据库](amazon-lightsail-creating-a-database.md)。您还可以将标准数据库更改为高可用性数据库。首先创建标准数据库的快照，再从该快照创建新数据库，然后选择高可用性计划。有关更多信息，请参阅[从快照创建数据库](amazon-lightsail-creating-a-database-from-snapshot.md)。

# 从客户端应用程序连接到你的 Lightsail MySQL 数据库
<a name="amazon-lightsail-connecting-to-your-mysql-database"></a>

在 Amazon Lightsail 中创建 MySQL 托管数据库后，您可以使用任何标准的 MySQL 客户端应用程序或实用程序与之连接。您必须从 Lightsail 控制台的数据库管理页面获取数据库端点、端口、用户名和密码。您将在客户端或 Web 应用程序中配置数据库连接时指定这些值。

本指南向您介绍如何获取所需的连接信息，以及如何将 MySQL Workbench 配置为连接到托管式数据库。

**注意**  
有关连接到 PostgreSQL 数据库的更多信息，请参阅[连接到 PostgreSQL 数据库](amazon-lightsail-connecting-to-your-postgres-database.md)。

## 步骤 1：获取 MySQL 数据库连接详细信息
<a name="get-your-mysql-database-connection-details"></a>

从 Lightsail 控制台获取您的数据库端点和端口信息。稍后在将客户端配置为连接到数据库时，您会用到这些信息。

**获取数据库连接详细信息**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 选择要连接到的数据库的名称。

1. 在 **Connect (连接)** 选项卡的 **Endpoint and port (终端节点和端口)** 部分下，记下终端节点和端口信息。

   我们建议您将终端节点复制到剪贴板，以避免输入错误的信息。要执行此操作，请突出显示该终端节点，然后按 **Ctrl\$1C**（如果使用的是 Windows）或 **Cmd\$1C**（如果使用的是 macOS），将其复制到剪贴板。然后，相应地按 **Ctrl\$1V** 或 **Cmd\$1V** 对其进行粘贴。  
![\[Lightsail 控制台中的数据库端点和端口\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-mysql-database-endpoint-and-port.png)

1. 在 **Connect (连接)** 选项卡的 **User name and passwords (用户名和密码)** 部分下方，记下用户名，然后选择 **Password (密码)** 部分下方的 **Show (显示)** 以查看当前的数据库密码。

   由于托管密码很复杂，我们还建议您复制并粘贴此密码，以避免输入错误的密码。突出显示该托管密码，然后按 **Ctrl\$1C**（如果使用的是 Windows）或 **Cmd\$1C**（如果使用的是 macOS），将其复制到剪贴板。然后，相应地按 **Ctrl\$1V** 或 **Cmd\$1V** 对其进行粘贴。

## 步骤 2：配置 MySQL 数据库的公有可用性
<a name="configure-mysql-database-public-availability"></a>

您必须启用公共模式，这样您的数据库才能从外部连接到该数据库，或者从与您的数据库 AWS 区域 不同的 Lightsail 实例进行连接。启用公有模式后，拥有数据库用户名和密码的任何人都可以连接到数据库。要配置数据库的公有可用性，请按照[为您的数据库配置公有模式](amazon-lightsail-configuring-database-public-mode.md)指南中的步骤操作。

**注意**  
如果您计划从与您的数据库位于同一区域的其中一个 Lightsail 实例连接到数据库，请跳至步骤 3。

## 步骤 3：将数据库客户端配置为连接到 MySQL 数据库
<a name="configure-the-mysql-workbench-database-client"></a>

要连接到 MySQL 数据库，可将数据库客户端配置为使用您先前获取的终端节点和端口。以下步骤向您演示如何配置 MySQL Workbench，但这些步骤可能与其他客户端的步骤类似。

**注意**  
有关如何使用 MySQL Workbench 的更多信息，请参阅 [MySQL Workbench 手册](https://dev.mysql.com/doc/workbench/en/)。

**将 MySQL Workbench 配置为连接到数据库**

1. 打开 **MySQL Workbench**。

1. 选择 **Database (数据库)** 菜单，然后选择 **Manage connections (管理连接)**。

1. 将以下信息输入到显示的表格中：  
![\[MySQL Workbench 连接配置\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-mysql-workbench-connection-manager.png)
   + **Connection Name** – 我们建议您对连接使用与数据库类似的名称。这有助于您在以后识别它。
   + **Connection Method** – 选择 **Standard (TCP/IP)**。
   + **Port** – 输入先前获取的数据库的端口。MySQL 的默认端口是 3306。
   + **Hostname** – 输入先前获取的数据库终端节点。如果你从 Lightsail 控制台复制了数据库端点，但它仍在剪贴板中，如果你使用的是 Windows，请**按 Ctrl\$1V** 进行粘贴，如果你使用的是 macOS，则按 **Cmd\$1V** 将其粘贴。
   + **Username** – 输入先前获取的数据库用户名。
   + **Password** – 选择 **Store in Vault**。在显示的窗口中，输入先前获取的数据库密码。如果你从 Lightsail 控制台复制了密码，但密码仍在剪贴板中，如果你使用的是 Windows，请**按 Ctrl\$1V** 进行粘贴，如果你使用的是 macOS，则按 **Cmd\$1V** 进行粘贴。选择 **OK** 以保存密码。
   + **Default Schema** – 保留此文本框为空。

1. 选择 **Test connection** 以确定客户端是否可以与数据库建立连接。

   如果连接成功，系统会显示类似于以下示例的提示。读取此信息后，选择 **OK** 将其关闭。  
![\[MySQL Workbench 成功连接测试\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-mysql-workbench-successful-connection.png)

1. 选择 **New** 以保存新的连接详细信息，然后选择 **Close** 以关闭连接管理窗口。

   新数据库连接会显示在 MySQL Workbench 应用程序主页的“MySQL Connections”部分下方。

1. 要连接到数据库，请选择新数据库连接。

   如果连接成功，系统将显示类似于以下示例的窗口。  
![\[MySQL Workbench 工作区\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-mysql-workbench-workspace.png)

## 后续步骤
<a name="connecting-to-your-mysql-database-next-steps"></a>

以下是帮助您在 Lightsail 中将数据导入数据库的指南：
+ [将数据导入 MySQL 数据库](amazon-lightsail-importing-data-into-your-mysql-database.md)

# 使用 SSL/TLS 安全地连接到 Lightsail MySQL 数据库
<a name="amazon-lightsail-connecting-to-mysql-database-using-ssl"></a>

Amazon Lightsail 会创建 SSL 证书，并在预配置后将其安装在你的 MySQL 托管数据库上。证书由证书颁发机构 (CA) 签名，并且包括数据库终端节点作为 SSL 证书的公用名 (CN)，以防止欺骗攻击。

由 Lightsail 创建的 SSL 证书是可信的根实体，在大多数情况下应该可以使用，但是如果您的应用程序不接受证书链，则可能会失败。如果您的应用程序不接受证书链，则您可能需要使用中间证书才能连接到您的 AWS 区域。

有关托管数据库的 CA 证书、受支持的 AWS 区域以及如何能够为应用程序下载中间证书的详细信息，请参阅[为托管式数据库下载 SSL 证书](amazon-lightsail-download-ssl-certificate-for-managed-database.md)。

## 支持的连接
<a name="mysql-ssl-supported-connections"></a>

MySQL 在以下版本中使用 yaSSL 进行安全连接：
+ MySQL 5.7.19 和更早的 5.7 版本
+ MySQL 5.6.37 和更早的 5.6 版本
+ MySQL 5.5.57 和更早的 5.5 版本

MySQL 在以下版本中使用 OpenSSL 进行安全连接：
+ MySQL 8.0 版
+ MySQL 5.7.21 和更高的 5.7 版本
+ MySQL 5.6.39 和更高的 5.6 版本
+ MySQL 5.5.59 和更高的 5.5 版本

MySQL 托管数据库支持传输层安全性 (TLS) 版本 1.0、1.1 和 1.2。以下列表显示了各个 MySQL 版本的 TLS 支持情况：
+ MySQL 8.0— TLS1 .0、TLS 1.1 和 TLS 1.2
+ MySQL 5.7 — TLS1 .0 和 TLS 1.1。只有 MySQL 5.7.21 及更高版本支持 TLS 1.2。
+ MySQL 5.6 — TLS1 .0
+ MySQL 5.5— TLS1 .0

## 先决条件
<a name="connecting-to-mysql-ssl-prerequisites"></a>
+ 将 MySQL 服务器安装到用于连接数据库的计算机上。有关详细信息，请参阅 MySQL 网站中的 [MySQL 社群服务器下载](https://dev.mysql.com/downloads/mysql/)。
+ 为您的数据库下载相应的证书。有关信息，请参阅[为托管式数据库下载 SSL 证书](amazon-lightsail-download-ssl-certificate-for-managed-database.md)。

## 使用 SSL 连接到 MySQL 数据库
<a name="connect-to-your-mysql-database-using-ssl"></a>

要使用 SSL 连接到 MySQL 数据库，请完成以下步骤。

1. 打开终端或命令提示符窗口。

1. 输入以下命令之一，具体取决于 MySQL 数据库的版本：
   + 输入以下命令以连接到 MySQL 5.7 或更高版本的数据库。

     ```
     mysql -h DatabaseEndpoint --ssl-ca=/path/to/certificate/rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY -u UserName -p
     ```

     在该命令中，将：
     + *DatabaseEndpoint*使用数据库的终端节点。
     + */path/to/certificate/rds-combined-ca-bundle.pem*使用您下载和保存数据库证书的本地路径。
     + *UserName*使用数据库的用户名。

     **示例**：

     ```
     mysql -h ls-1c51a7c70a4fb55e542829a4e4e0d735ba42.czowadgeezqi.us-west-2.rds.amazonaws.com --ssl-ca=/home/ec2-user/rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY -u dbmasteruser -p
     ```
   + 输入以下命令以连接到 MySQL 6.7 或更早版本的数据库。

     ```
     mysql -h DatabaseEndpoint --ssl-ca=/path/to/certificate/rds-combined-ca-bundle.pem --ssl-verify-server-cert -u UserName -p
     ```

     在该命令中，将：
     + *DatabaseEndpoint*使用数据库的终端节点。
     + */path/to/certificate/rds-combined-ca-bundle.pem*使用您下载和保存数据库证书的本地路径。
     + *UserName*使用数据库的用户名。

     **示例**：

     ```
     mysql -h ls-1c51a7c70a4fb55e542829a4e4e0d735ba42.czowadgeezqi.us-west-2.rds.amazonaws.com --ssl-ca=/home/ec2-user/rds-combined-ca-bundle.pem --ssl-verify-server-cert -u dbmasteruser -p
     ```

1. 出现提示时，键入您在上一个命令中指定的数据库用户的密码，然后按 **Enter**。

   您会看到类似于以下示例的结果：  
![\[MySQL 数据库连接。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-mysql-ssl-connection.png)

1. 键入 **status**，然后按 **Enter** 以查看您的连接状态。

   如果您看到 SSL 旁边的值为“正在使用的密码是”，则表示您的连接已加密。  
![\[MySQL 数据库连接状态。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-mysql-ssl-status.png)

# 连接到你的 Lightsail PostgreSQL 数据库实例
<a name="amazon-lightsail-connecting-to-your-postgres-database"></a>

在 Amazon Lightsail 中创建 PostgreSQL 托管数据库后，您可以使用任何标准的 PostgreSQL 客户端应用程序或实用程序与之连接。您必须从 Lightsail 控制台的数据库管理页面获取数据库端点、端口、用户名和密码。您将在客户端或 Web 应用程序中配置数据库连接时指定这些值。

本指南向您介绍如何获取所需的连接信息，以及如何将 pgAdmin 客户端配置为连接到托管式数据库。

**注意**  
有关连接到 MySQL 数据库的更多信息，请参阅[连接到 MySQL 数据库](amazon-lightsail-connecting-to-your-mysql-database.md)。

## 步骤 1：获取 PostgreSQL 数据库连接详细信息
<a name="get-your-postgres-database-connection-details"></a>

从 Lightsail 控制台获取您的数据库端点和端口信息。稍后在将客户端配置为连接到数据库时，您会用到这些信息。

**获取数据库连接详细信息**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 选择要连接到的数据库的名称。

1. 在 **Connect (连接)** 选项卡的 **Endpoint and port (终端节点和端口)** 部分下，记下终端节点和端口信息。

   我们建议您将终端节点复制到剪贴板，以避免输入错误的信息。要执行此操作，请突出显示该终端节点，然后按 **Ctrl\$1C**（如果使用的是 Windows）或 **Cmd\$1C**（如果使用的是 macOS），将其复制到剪贴板。然后，相应地按 **Ctrl\$1V** 或 **Cmd\$1V** 对其进行粘贴。  
![\[Lightsail 控制台中的数据库端点和端口\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-postgres-database-endpoint-and-port.png)

1. 在 **Connect (连接)** 选项卡的 **User name and passwords (用户名和密码)** 部分下方，记下用户名，然后选择 **Password (密码)** 部分下方的 **Show (显示)** 以查看当前的数据库密码。

   由于托管密码很复杂，我们还建议您复制并粘贴此密码，以避免输入错误的密码。突出显示该托管密码，然后按 **Ctrl\$1C**（如果使用的是 Windows）或 **Cmd\$1C**（如果使用的是 macOS），将其复制到剪贴板。然后，相应地按 **Ctrl\$1V** 或 **Cmd\$1V** 对其进行粘贴。

## 步骤 2：配置 PostgreSQL 数据库的公有可用性
<a name="configure-postgres-database-public-availability"></a>

您必须为数据库启用公共模式才能从外部连接到该数据库，或者从与数据库不同区域的 Lightsail 实例进行连接。启用公有模式后，拥有数据库用户名和密码的任何人都可以连接到数据库。要配置数据库的公有可用性，请按照[为您的数据库配置公有模式](amazon-lightsail-configuring-database-public-mode.md)指南中的步骤操作。

**注意**  
如果您计划从与数据库位于同一区域的 Lightsail 实例连接到数据库，请跳至步骤 3。

## 步骤 3：将数据库客户端配置为连接到 PostgreSQL 数据库
<a name="configure-the-pgadmin-database-client"></a>

要连接到 PostgreSQL 数据库，可将数据库客户端配置为使用您先前获取的终端节点和端口。以下步骤向您演示如何配置 pgAdmin，但这些步骤可能与其他客户端的步骤类似。

**注意**  
有关使用 pgAdmin 的更多信息，请参阅 [pgAdmin 文档](https://www.pgadmin.org/docs/)。

**将 pgAdmin 配置为连接到数据库**

1. 打开 **pgAdmin**。

1. 从左侧导航菜单中，右键单击 **Servers**。

1. 选择 **Create**，然后选择 **Server**。

1.   
![\[pgAdmin 服务器配置\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-pgadmin-create-server.png)

1. 在 **Create - Server** 表单中，输入服务器的名称。我们建议您对连接使用与数据库类似的名称。这有助于您在以后识别它。

1. 选择 **Connection** 选项卡，然后将以下信息输入到显示的表单中：  
![\[pgAdmin 服务器配置表单\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-pgadmin-create-server-form-connection-tab.png)
   + **Host name/address** – 输入先前获取的数据库终端节点。如果你从 Lightsail 控制台复制了数据库端点，但它仍在剪贴板中，如果你使用的是 Windows，请**按 Ctrl\$1V** 进行粘贴，如果你使用的是 macOS，则按 **Cmd\$1V** 将其粘贴。
   + **Port** – 输入先前获取的数据库的端口。PostgreSQL 的默认端口为 5432。
   + **Maintenance database** – 指定客户端将连接到的初始数据库的名称。这是你在 Lightsail 中创建 PostgreSQL 数据库时指定的主数据库名称。

     如果您忘记了主数据库的名称，可输入 `postgres`。每个 PostgreSQL 托管数据库都有一个您可连接到的 `postgres` 数据库，之后，您将能够访问 PostgreSQL 托管数据库上的所有其他数据库。
   + **Username** – 输入先前获取的数据库用户名。
   + **Password** – 输入先前获取的数据库密码。如果你从 Lightsail 控制台复制了密码，但密码仍在剪贴板中，如果你使用的是 Windows，请**按 Ctrl\$1V** 进行粘贴，如果你使用的是 macOS，则按 **Cmd\$1V** 进行粘贴。选择 **Save password** 以保存您的密码。
   + **Role** 和 **Service** – 将这些字段留空。

1. 选择 **Save** 以保存新服务器详细信息。

   您的新数据库连接将显示在 pgAdmin 应用程序的左侧导航菜单上的“Servers”部分下。

1. 要连接到您的数据库，请双击您的新数据库连接。

   如果连接成功，您将看到该数据库的可用资源列表。  
![\[pgAdmin 工作区\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-pgadmin-connected.png)

## 后续步骤
<a name="connecting-to-your-postgres-database-next-steps"></a>

以下是帮助您在 Lightsail 中将数据导入数据库的指南：
+ [将数据导入 PostgreSQL 数据库](amazon-lightsail-importing-data-into-your-postgres-database.md)

# 使用 SSL 安全地连接到 Lightsail PostgreSQL 数据库
<a name="amazon-lightsail-connecting-to-postgres-database-using-ssl"></a>

Amazon Lightsail 会创建 SSL 证书，并在配置后将其安装到你的 PostgreSQL (Postgres) 托管数据库上。证书由证书颁发机构 (CA) 签名，并且包括数据库终端节点作为 SSL 证书的公用名 (CN)，以防止欺骗攻击。

Lightsail 创建的 SSL 证书是可信的根实体，在大多数情况下应该可以使用，但如果您的应用程序不接受证书链，则可能会失败。如果您的应用程序不接受证书链，则您可能需要使用中间证书才能连接到您的 AWS 区域。

有关托管数据库的 CA 证书、受支持的 AWS 区域以及如何能够为应用程序下载中间证书的详细信息，请参阅[为托管式数据库下载 SSL 证书](amazon-lightsail-download-ssl-certificate-for-managed-database.md)。

## 先决条件
<a name="connecting-to-postgres-ssl-prerequisites"></a>
+ 将 PostgreSQL 服务器安装到用于连接数据库的计算机上。有关详细信息，请参阅 Postgres 网站中的 [PostgreSQL 下载](https://www.postgresql.org/download/)
+ 为您的数据库下载相应的证书。有关信息，请参阅[为托管式数据库下载 SSL 证书](amazon-lightsail-download-ssl-certificate-for-managed-database.md)。

## 使用 SSL 连接到您的 Postgres 数据库
<a name="connect-to-your-postgres-database-using-ssl"></a>

要使用 SSL 连接到 Postgres 数据库，请完成以下步骤。

1. 打开终端或命令提示符窗口。

1. 输入以下命令以连接到 PostgreSQL 数据库。

   ```
   psql -h DatabaseEndpoint -p 5432 "dbname=DatabaseName user=UserName sslrootcert=/path/to/certificate/rds-combined-ca-bundle.pem sslmode=verify-full"
   ```

   在该命令中，将：
   + *DatabaseEndpoint*使用数据库的终端节点。
   + *DatabaseName*使用您要连接的数据库的名称。
   + *UserName*使用数据库的用户名。
   + */path/to/certificate/rds-combined-ca-bundle.pem*使用您下载和保存数据库证书的本地路径。

   **示例**：

   ```
   psql -h ls-8e81e07f8b821917b11e1c6a0e26cb73c203.czowadgeezqi.us-west-2.rds.amazonaws.com -p 5432 "dbname=dbmaster user=dbmasteruser sslrootcert=/home/ec2-user/rds-combined-ca-bundle.pem sslmode=verify-full"
   ```

1. 出现提示时，键入您在上一个命令中指定的数据库用户的密码，然后按 **Enter**。

   您应看到类似于以下示例的结果。如果您看到“SSL 连接”值，则表示您的连接已加密。  
![\[Postgres 数据库连接状态。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-postgres-ssl-connection.png)

# 删除 Lightsail 数据库并创建最终快照
<a name="amazon-lightsail-deleting-your-database"></a>

如果您不再需要 Amazon Lightsail 中的托管数据库，请将其删除。数据库在删除后将停止产生费用。

**注意**  
无法恢复已删除的数据库。您可以将创建数据库的最终快照作为本指南中介绍的步骤的一部分，也可以在删除过程之外单独创建快照。有关更多信息，请参阅[创建数据库的快照](amazon-lightsail-creating-a-database-snapshot.md)。

**删除数据库**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 选择要删除的数据库的名称。

1. 选择**删除**选项卡。

1. 在**删除前创建快照**旁边添加一个复选标记，以在删除数据库之前创建最终快照。然后，输入快照的名称。

   资源名称：
   + 在你的 Lightsail 账户 AWS 区域 中，每个账户中必须是唯一的。
   + 必须包含 2 到 255 个字符。
   + 必须以字母数字字符或数字作为开头和结尾。
   + 可以包括字母数字字符、数字、句点、连字符和下划线。

1. 选择**删除数据库**。

1. 选择**是，删除**以确认删除。  
![\[在删除数据库之前创建数据库快照\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-delete-database-with-snapshot.png)

   如果您选择在删除之前创建快照，则可以在 Lightsail 主页的 “**快照**” 部分进行查看。

# 在没有延迟的情况下将大型数据集导入 Lightsail 数据库
<a name="amazon-lightsail-configuring-database-data-import-mode"></a>

当一次性导入大量数据时，数据库常规备份操作可能会导致严重的延迟或运行速度大幅降低。为您的 Amazon Lightsail 托管数据库启用数据导入模式，以便在您导入大量数据时暂停这些操作。

**重要**  
启用数据导入模式后，会删除所有紧急还原备份。如果您希望在启用数据导入模式之前具有备份，可以创建数据库的快照。有关更多信息，请参阅[创建数据库的快照](amazon-lightsail-creating-a-database-snapshot.md)。

**为您的数据库配置数据导入模式**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 选择您要为其配置数据导入模式的数据库的名称。

1. 在**连接**选项卡中的**数据导入模式**部分下，使用切换按钮来启用数据导入模式。在导入完成后，同样使用切换按钮来关闭该模式。  
![\[Lightsail 控制台中的数据导入模式切换\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-database-data-import-mode-toggle.png)

   现在，数据导入模式已启用，而数据库备份操作已暂停。我们建议您暂时启用数据导入模式。仅在您需要将大量数据导入到数据库时才使用该模式。导入完成后，禁用数据导入模式以恢复备份操作。
**注意**  
您的导入速度可能会降低，具体取决于要导入的数据量。有关更多信息，请参阅[优化数据导入](https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-choosing-a-database#optimizing-your-data-import)。

# 将 SQL 数据导入 Lightsail MySQL 数据库
<a name="amazon-lightsail-importing-data-into-your-mysql-database"></a>

你可以使用 MySQL Workbench 将 SQL 文件 (.SQL) 导入 Amazon Lightsail 中的 MySQL 托管数据库。

**注意**  
要了解如何将 MySQL Workbench 连接到您的数据库，请参阅[连接到 MySQL 数据库](amazon-lightsail-connecting-to-your-mysql-database.md)。

**将数据导入数据库**

1. 打开 MySQL Workbench。

1. 在 MySQL 连接列表中，选择您的 MySQL 托管数据库。

1. 从左侧导航菜单中选择 **Data Import/Restore**。

1. 在“数据导入”窗格中，选择**导入选项**部分下方的**从自包含文件导入**。  
![\[导入自包含 .SQL 文件\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-import-from-self-contained-file.png)

1. 选择省略号按钮，以在本地驱动器查找要导入的 .SQL 文件。

1. 选择要导入的 .SQL 文件，然后选择 **Open**。

1. 选择 **Default Target Schema** 下拉菜单，然后选择要向其导入文件的现有数据库。您还可以通过选择 **New** 来创建新数据库。  
![\[选择默认目标架构\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-default-schema-to-import-to.png)

1. 选择 **Start Import** 以开始导入。

   导入过程可能需要几分钟或更长时间，具体取决于 .SQL 文件的大小。导入完成后，您应该会看到一条类似于以下内容的消息：  
![\[已完成导入\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-import-finished.png)

# 将 PostgreSQL 数据库备份导入 Lightsail 托管的数据库
<a name="amazon-lightsail-importing-data-into-your-postgres-database"></a>

你可以使用 pgadmin 将数据库备份文件导入到 Amazon Lightsail 中的 PostgreSQL 托管数据库中。

**注意**  
要了解如何将 pgAdmin 连接到您的数据库，请参阅[连接到 PostgreSQL 数据库](amazon-lightsail-connecting-to-your-postgres-database.md)。有关创建可导入另一个数据库的 PostgreSQL 数据库备份的更多信息，请参阅 pgAdmin 文档中的[备份对话框](https://www.pgadmin.org/docs/)。

**将备份文件导入数据库**

1. 打开 pgAdmin。

1. 在服务器连接列表中，双击 Amazon Lightsail 中你的 PostgreSQL 托管数据库进行连接。

1. 展开 **Databases** 节点

1. 右键单击要在其中导入数据库备份文件中的数据的数据库，然后选择 **Restore**。  
![\[在 pgAdmin 中还原数据库。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-pgadmin-restore-database.png)

1. 在 **Restore** 表单中，填写以下字段：
   + **Format** – 选择您的备份文件的格式。
   + **Filename** – 选择省略号图标，然后找到并选择本地驱动器上的数据库备份文件。突出显示该文件后，选择 **Select** 以返回到 **Restore** 提示。
**注意**  
选择 **Format** 下拉菜单，然后选择 **All files** 以查看本地驱动器上的所有文件格式。您的备份文件可能保存为与默认选择的文件类型 (sql) 不同的文件类型。  
![\[导入备份文件。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-pgadmin-restore-backup-select-file.png)
   + **Number of jobs** 和 **Role name** – 将这些字段留空。

1. 选择 **Restore** 以启动导入。

   导入过程可能需要几分钟或更长时间，具体取决于数据库备份文件的大小。导入完成后，您应该会看到一条类似于以下内容的消息：  
![\[PostgreSQL 数据库备份文件成功还原。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-pgadmin-successful-restore.png)

# 查看你的 Lightsail 数据库日志和历史记录
<a name="amazon-lightsail-viewing-database-logs-and-history"></a>

在 Amazon Lightsail 控制台中查看您的数据库日志和更改历史记录。数据库日志可提供有用的信息，有助于您诊断数据库存在的问题。同样，数据库历史记录将显示您对数据库所做的更改，使您可以将问题与最新的更改关联起来。

**查看数据库日志**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 选择要查看其日志的数据库的名称。

1. 选择 **Logs and history (日志和历史记录)** 选项卡。

   页面将显示数据库日志及数据库更改历史记录。

1. 选择一个数据库日志。有以下几种数据库日志可用：

   **MySQL 数据库名称**
   + **错误日志** – 对 mysqld 启动和关闭次数的记录。它还包含诊断消息，例如在服务器启动和关闭期间以及服务器运行期间发生的错误、警告和注释。有关更多信息，请参阅 [MySQL 5.6](https://dev.mysql.com/doc/refman/5.6/en/keywords.html)、[MySQL 5.7](https://dev.mysql.com/doc/refman/5.7/en/keywords.html) 或 [MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/keywords.html) 文档中有关错误日志的文章。
   + **常规日志** – 对 mysqld 所执行的操作的常规记录。当客户端连接或断开连接时，服务器会将信息写入此日志，并记录从客户端收到的每个 SQL 语句。有关更多信息，请参阅 [MySQL 5.6](https://dev.mysql.com/doc/refman/5.6/en/keywords.html)、[MySQL 5.7](https://dev.mysql.com/doc/refman/5.7/en/keywords.html) 或 [MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/keywords.html) 文档中有关常规查询日志的文章。
   + **慢速查询日志** – 对运行时间超过 long\$1query\$1time 秒且需要至少检查 min\$1examined\$1row\$1limit 行的 SQL 语句的记录。有关更多信息，请参阅 [MySQL 5.6](https://dev.mysql.com/doc/refman/5.6/en/keywords.html)、[MySQL 5.7](https://dev.mysql.com/doc/refman/5.7/en/keywords.html) 或 [MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/keywords.html) 文档中有关慢速查询日志的文章。
**注意**  
默认情况下，对于 MySQL 数据库禁用一般日志和慢速查询日志。您可以通过更新几个数据库参数来启用这些日志并开始收集数据。有关更多信息，请参阅[在 Amazon Lightsail 中启用 MySQL 数据库一般日志和慢速查询日志](amazon-lightsail-enabling-mysql-general-and-slow-query-logs)。

   **PostgreSQL 数据库日志**
   + **Postgres 日志** – 对数据库启动和关闭次数的记录。它还可以包含数据库启动、关闭和运行期间发生的诊断，如错误、警告、通知和调试消息。有关更多信息，请参阅 [PostgreSQL 9.6](https://www.postgresql.org/docs/9.6/runtime-config-logging.html)、[PostgreSQL 10](https://www.postgresql.org/docs/10/runtime-config-logging.html)、[PostgreSQL 11](https://www.postgresql.org/docs/11/runtime-config-logging.html) 或 [PostgreSQL 12](https://www.postgresql.org/docs/12/runtime-config-logging.html) 文档中的错误报告和日志记录文章。

**Topics**
+ [MySQL 查询日志](amazon-lightsail-enabling-mysql-general-and-slow-query-logs.md)

# 使用 Lightsail 中的常规查询日志和慢速查询日志监控 MySQL 查询性能
<a name="amazon-lightsail-enabling-mysql-general-and-slow-query-logs"></a>

默认情况下，Amazon Lightsail 中的 MySQL 数据库的[常规和慢速查询日志](amazon-lightsail-viewing-database-logs-and-history.md)处于禁用状态。您可以通过更新几个数据库参数来启用这些日志并开始收集数据。使用 Lightsail API、 AWS Command Line Interface (AWS CLI) 或更新数据库参数。 SDKs在本指南中，我们将向您展示如何使用更新数据库参数以及启用常规和慢速查询日志。 AWS CLI 此外，我们还提供了其他选项，用于控制一般查询日志和慢速查询日志以及如何处理日志数据保留。

## 先决条件
<a name="prerequisite-to-enable-general-and-slow-query-logs"></a>

如果尚未安装并配置 AWS CLI，请执行该操作。有关更多信息，请参阅[配置为与 Amazon Lightsail 配合使用](lightsail-how-to-set-up-and-configure-aws-cli.md)。 AWS Command Line Interface 

## 在 Lightsail 控制台中启用常规和慢速查询日志
<a name="enable-the-general-and-slow-query-logs"></a>

要在 Lightsail 控制台中启用常规查询日志和慢速查询日志，必须将`general_log`和`slow_query_log`数据库参数更新为的值`1`，将`log_output`参数更新为的值。`FILE`

**在 Lightsail 控制台中启用常规和慢速查询日志**

1. 打开终端或命令提示符窗口。

1. 输入以下命令以将 `general_log` 参数更新为值 `1`，即 true 或启用。

   ```
   aws lightsail update-relational-database-parameters --region Region --relational-database-name DatabaseName --parameters "parameterName=general_log,parameterValue=1,applyMethod=pending-reboot"
   ```

   在该命令中，将：
   + *DatabaseName*用你的数据库的名字。
   + *Region*用 AWS 区域 你的数据库的。

1. 输入以下命令以将 `slow_query_log` 参数更新为值 `1`，即 true 或启用。

   ```
   aws lightsail update-relational-database-parameters --region Region --relational-database-name DatabaseName --parameters "parameterName=slow_query_log,parameterValue=1,applyMethod=pending-reboot"
   ```

   在该命令中，将：
   + *DatabaseName*用你的数据库的名字。
   + *Region*用 AWS 区域 你的数据库的。

1. 输入以下命令将`log_output`参数更新为的值`FILE`，这会将日志数据写入系统文件并使其显示在 Lightsail 控制台中。

   ```
   aws lightsail update-relational-database-parameters --region Region --relational-database-name DatabaseName --parameters "parameterName=log_output,parameterValue=FILE,applyMethod=pending-reboot"
   ```

   在该命令中，将：
   + *DatabaseName*用你的数据库的名字。
   + *Region*用 AWS 区域 你的数据库的。

1. 输入以下命令以重新引导数据库并使更改生效。

   ```
   aws lightsail reboot-relational-database --region Region --relational-database-name DatabaseName
   ```

   在该命令中，将：
   + *DatabaseName*用你的数据库的名字。
   + *Region*用 AWS 区域 你的数据库的。

   此时，您的数据库重启并变得不可用。等待几分钟，然后登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)，查看数据库的常规和慢速查询日志。有关更多信息，请参阅[在 Amazon Lightsail 中查看您的数据库日志和历史记录](amazon-lightsail-viewing-database-logs-and-history.md)。
**注意**  
有关更新数据库参数的更多信息，请参阅[在 Amazon Lightsail 中更新数据库参数](amazon-lightsail-updating-database-parameters.md)。

## 控制其他数据库日志选项
<a name="control-additional-database-log-options"></a>

要控制 MySQL 一般查询日志和慢速查询日志的其他选项，请更新以下参数：
+ `log_output` — 将该参数设置为 `TABLE`。这会将一般查询写入 `mysql.general_log` 表，将慢速查询写入 `mysql.slow_log` 表。还可以将 `log_output` 参数设置为 `NONE` 以禁用日志记录。
**注意**  
将`log_output`参数设置为`TABLE`会禁用常规和慢速查询日志数据在 Lightsail 控制台中显示。而是必须参考数据库上的 `mysql.general_log` 和 `mysql.slow_log` 以查看日志数据。
+ `long_query_time` — 要防止在慢速查询日志中记录快速运行的查询，请指定需要记录的最短查询执行时间值，以秒为单位。默认值为 10 秒，最小值为 0。如果 `log_output` 参数设置为 `FILE`，则可以指定精确到微秒的浮点值。如果 `log_output` 参数设置为 `TABLE`，则必须指定精确到秒的整数值。系统只记录执行时间超过 `long_query_time` 参数值的查询。例如，将 `long_query_time` 设置为 0.1 可防止记录任何运行时间少于 100 毫秒的查询。
+ `log_queries_not_using_indexes` — 要将所有不使用索引的查询记录到慢速查询日志，请设置为 1。默认值是 0。将记录不使用索引的查询，即使它们的执行时间小于 `long_query_time` 参数的值。

## 日志数据保留
<a name="log-data-retention"></a>

启用了日志记录时，会定期轮换表日志或删除日志文件。这是一种预防措施，用于降低大型日志文件阻止数据库使用或影响性能的可能性。当 `log_output` 参数设置为 `FILE` 或 `TABLE` 时，按如下所示处理日志记录：
+ 启用了 `FILE` 日志记录时，会每小时检查日志文件并删除 24 小时之前的日志文件。在一些情况下，删除之后的剩余日志文件的总体大小可能超过了数据库的分配空间的 2% 阈值。在这些情况下，将删除最大的日志文件，直到日志文件大小不再超过此阈值。
+ 启用了 `TABLE` 日志记录时，在某些情况下，日志表每 24 小时轮换一次。

  如果表日志使用的空间大于分配存储空间的 20% 或所有日志的总体大小超过 10GB，则会执行此轮换。

  如果用于数据库的空间量大于数据库的分配存储空间的 90%，则减小日志轮换的阈值。

  随后，如果表日志使用的空间大于分配存储空间的 10% 或是所有日志的总体大小超过 5 GB，则轮换日志表。

  您可以订阅 `low_free_storage` 事件，在轮换日志表以释放空间时，会发送相关通知。
  + 轮换日志表时，会将当前日志表复制到备份日志表，随后删除当前日志表中的条目。如果备份日志表已存在，则先将其删除，然后将当前日志表复制到备份。您可以查询备份日志表。`mysql.general_log` 表的备份日志表名为 `mysql.general_log_backup`。`mysql.slow_log` 表的备份日志表名为 `mysql.slow_log_backup`。
  + 您可以通过调用 `mysql.rds_rotate_general_logprocedure` 来轮换 `mysql.general_log` 表。您可以通过调用 `mysql.rds_rotate_slow_logprocedure` 来轮换 `mysql.slow_log` 表。
  + 表日志在数据库版本升级期间会进行轮换。

# 禁用 Lightsail 数据库的 point-in-time备份
<a name="amazon-lightsail-turn-off-database-point-in-time-backup"></a>

使用以下步骤禁用 Lightsail 托管数据库的 point-in-time备份。

**重要**  
通过 point-in-time备份，如果数据库出现故障，您可以轻松恢复数据。我们建议您为 Lightsail 托管数据库启用时间点备份。

## 先决条件
<a name="turn-off-database-point-in-time-backup-prerequisite"></a>

使用 AWS Command Line Interface (AWS CLI) 或启用或 AWS CloudShell 禁用 Lightsail 数据库的 point-in-time备份。 CloudShell 是一款基于浏览器的预先认证外壳，您可以直接从 Lightsail 控制台启动它。有关更多信息，请参阅[为 Lightsai AWS CLI l 操作设置和配置](lightsail-how-to-set-up-and-configure-aws-cli.md)和[使用管理 Lightsail 资源 AWS CloudShell](amazon-lightsail-cloudshell.md)。

## 禁用数据库 point-in-time备份
<a name="turn-off-database-point-in-time-backup"></a>

要在 Lightsail 中禁用托管数据库的 point-in-time备份，必须使用的 Lightsail 命令`update-relational-database`更新数据库。 AWS CLI有关更多信息，请参阅 *AWS CLI 命令参考[update-relational-database](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-relational-database.html)*中的。
+ 在终端、命令提示符或 CloudShell窗口中输入以下命令：

  ```
  aws lightsail update-relational-database --region Region --relational-database-name DatabaseName --disable-backup-retention --apply-immediately
  ```

  命令中的`--disable-backup-retention`值会关闭指定数据库的 point-in-time备份。在该命令中，将：
  + *DatabaseName*用你的数据库的名字。
  + *Region*用 AWS 区域 你的数据库的。

您应该会看到状态为 `Succeeded` 的操作响应。更新期间，数据库的状态将在短时间内更改为**正在修改**。当数据库的状态变回 “**可用**” 时， point-in-time还原选项将被禁用，如以下示例所示。

![\[AWS CLI 命令禁用 point-in-time备份。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/database-disable-backup-output-cli.png)


**注意**  
要启用 point-in-time备份，请运行前面列出的相同命令，但改为使用`--enable-backup-retention`参数。

# 使用快照备份你的 Lightsail 数据库
<a name="amazon-lightsail-creating-a-database-snapshot"></a>

您可以在 Amazon Lightsail 中创建托管数据库的快照。快照是数据库的副本，如果出现错误，您可以使用它来还原数据库。您还可以使用快照来创建使用不同计划（例如，高可用性或标准计划）的新数据库。

当您创建标准数据库的快照时，数据库将在几秒到几分钟内变得不可用，具体取决于数据库的大小。高可用性数据库不受快照操作的影响，因为快照是使用备用数据库创建的。

**创建数据库的快照**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 选择要为其创建快照的数据库的名称。

1. 选择 **Snapshots & restore（快照和还原）**选项卡。

1. 在页面的 **Manual snapshots**（手动快照）部分中，选择 **Create snapshot**（创建快照），然后输入您快照的名称。

   资源名称：
   + 在你的 Lightsail 账户 AWS 区域 中，每个账户中必须是唯一的。
   + 必须包含 2 到 255 个字符。
   + 必须以字母数字字符或数字作为开头和结尾。
   + 可以包括字母数字字符、数字、句点、连字符和下划线。

1. 选择**创建**。

   快照创建过程开始，此时会显示一个 **Snapshot in progress（快照拍摄正在进行中）**状态。  
![\[数据库快照拍摄正在进行中\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-database-snapshot-in-progress.png)

   快照创建过程完成后，新快照将在 **Recent snapshots（近期快照）**部分下列出。您也可以在 Lightsail 主页的 “快照” 选项卡下查看您账户的所有**快照**。  
![\[Lightsail 控制台中的最新数据库快照\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-database-recent-snapshots.png)

## 后续步骤
<a name="creating-a-database-snapshot-next-steps"></a>

快照准备就绪后，您可以从该快照创建一个新数据库，新数据库是原始数据库的副本。有关更多信息，请参阅[根据快照创建数据库](amazon-lightsail-creating-a-database-from-snapshot.md)。

**Topics**
+ [后续步骤](#creating-a-database-snapshot-next-steps)
+ [还原数据库](amazon-lightsail-creating-a-database-from-point-in-time-backup.md)
+ [从快照创建数据库](amazon-lightsail-creating-a-database-from-snapshot.md)

# 在 Lightsail 中从 point-in-time备份中恢复数据库
<a name="amazon-lightsail-creating-a-database-from-point-in-time-backup"></a>

您可以在 Amazon Lightsail 中使用 point-in-time备份来创建新的托管数据库。 Point-in-time数据库的备份以 5 分钟为增量提供，并且是针对前 7 天的备份。这样，您能够将出现故障的数据库还原到过去一周中的特定日期和时间。

您还可以从快照创建新数据库。有关更多信息，请参阅[在 Amazon Lightsail 中根据快照创建数据库](amazon-lightsail-creating-a-database-from-snapshot.md)。

**使用 point-in-time备份创建数据库**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 选择要为其更改计划的数据库的名称。

1. 选择 **Snapshots & restore (快照和还原)** 选项卡。

1. 在 **Emergency restore (紧急还原)** 部分下方，选择要用于新数据库的备份的日期和时间。  
![\[使用 point-in-time备份创建数据库\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-create-new-database-from-emergency-restore.png)

1. 选择 **Restore to new database (还原到新数据库)**。

1. 在 **Create a new database (创建新数据库)** 页面上，选择 **Change zone (更改可用区)** 以选择不同的可用区。然后，系统会在与您先前所选快照相同的亚马逊云科技区域中创建新数据库。

1. 选择新数据库计划。

   选择高可用性或标准数据库计划。利用高可用性计划创建的数据库在另一个可用区中具有主数据库和辅助备用数据库，以支持故障转移。有关更多信息，请参阅[高可用性数据库](amazon-lightsail-high-availability-databases.md)。
**注意**  
您无法选择比原始数据库计划小的数据库计划。

1. 输入数据库的名称。

   资源名称：
   + 在你的 Lightsail 账户 AWS 区域 中，每个账户中必须是唯一的。
   + 必须包含 2 到 255 个字符。
   + 必须以字母数字字符或数字作为开头和结尾。
   + 可以包括字母数字字符、数字、句点、连字符和下划线。

1. 选择以下选项之一，以将标签添加到数据库：
   + **添加“仅限键”标签**或**管理标签**（如果已添加标签）。在标签键文本框中输入新标签，然后按 **Enter**。在您输入标签以添加它们后，选择 **Save**（保存），或者选择 **Cancel**（取消）以取消添加。  
![\[Lightsail 控制台中的仅限密钥的标签。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-key-only-tags.png)
   + **创建一个键值标签**，然后在 **Key**（键）文本框中输入一个键，并在 **Value**（值）文本框中输入一个值。输入标签后，选择 **Save**（保存），或者选择 **Cancel**（取消）以取消添加。

     一次只能添加一个键值标签，然后进行保存。要添加多个键值标签，请重复前面的步骤。  
![\[Lightsail 控制台中的键值标签。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-key-value-tag.png)
**注意**  
有关“仅键”标签和键值标签的更多信息，请参阅[标签](amazon-lightsail-tags.md)。

1. 选择**创建数据库**。

   几分钟之内，您的新 Lightsail 数据库就可以使用新的数据库计划或捆绑包了。

## 后续步骤
<a name="creating-a-database-from-point-in-time-backup-next-steps"></a>

在新数据库已启用且运行正常后，完成以下操作：
+ 如果不再需要原始数据库，则将其删除。有关更多信息，请参阅[删除您的数据库](amazon-lightsail-deleting-your-database.md)。
+ 通过 point-in-time备份创建的数据库配置为使用由 Lightsail 创建的强密码。有关更多信息，请参阅[管理数据库密码](amazon-lightsail-managing-database-password.md)。

# 在 Lightsail 中从快照创建托管数据库
<a name="amazon-lightsail-creating-a-database-from-snapshot"></a>

如果原始数据库中出现错误，则可以在 Amazon Lightsail 中从快照创建新的托管数据库。您还可以将数据库更改为不同的计划，例如，高可用性或标准计划。您也可以从原始数据库的时间点备份创建新的数据库。有关更多信息，请参阅[在 Amazon Lightsail 中从时间点备份创建数据库](amazon-lightsail-creating-a-database-from-point-in-time-backup.md)。

创建重复的数据库时，可以选择与原始数据库不同或更大的计划。但是，您不能选择比原始数据库小的计划。

**注意**  
利用高可用性计划创建的数据库在另一个可用区中具有主数据库和辅助备用数据库，以支持故障转移。有关更多信息，请参阅[高可用性数据库](amazon-lightsail-high-availability-databases.md)。

**从快照创建数据库**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 通过从快照创建新数据库，选择要复制的数据库的名称。

1. 选择 **Snapshots & restore（快照和还原）**选项卡。

1. 在页面的 **Manual snapshots (手动快照)** 部分中，选择要从中创建新数据库的快照旁边的操作菜单图标 (⋮)，然后选择 **Create new database (创建新数据库)**。
**注意**  
您需要一个要从中进行操作的数据库快照。如果尚未创建快照，请参阅[创建数据库的快照](amazon-lightsail-creating-a-database-snapshot.md)。  
![\[从快照创建新数据库\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-create-new-database-from-snapshot.png)

1. 选择 **Create new database (创建新数据库)**。

1. 在 **Create a new database (创建新数据库)** 页面上，选择 **Change zone (更改可用区)** 以选择不同的可用区。此时，系统会在与您先前所选快照相同的亚马逊云科技区域中创建新数据库。

1. 选择新数据库计划。

   选择高可用性或标准数据库计划。利用高可用性计划创建的数据库在另一个可用区中具有主数据库和辅助备用数据库，以支持故障转移。有关更多信息，请参阅[高可用性数据库](amazon-lightsail-high-availability-databases.md)。
**注意**  
您无法选择比原始数据库（用于创建快照）计划小的数据库计划。

1. 输入数据库的名称。

   资源名称：
   + 在您 Lightsail 账户的各个 AWS 区域 中必须是唯一的。
   + 必须包含 2 到 255 个字符。
   + 必须以字母数字字符或数字作为开头和结尾。
   + 可以包括字母数字字符、数字、句点、连字符和下划线。

1. 选择以下选项之一，以将标签添加到数据库：
   + **添加“仅限键”标签**或**管理标签**（如果已添加标签）。在标签键文本框中输入新标签，然后按 **Enter**。在您输入标签以添加它们后，选择 **Save**（保存），或者选择 **Cancel**（取消）以取消添加。  
![\[Lightsail 控制台中仅包含键的标签。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-key-only-tags.png)
   + **创建一个键值标签**，然后在 **Key**（键）文本框中输入一个键，并在 **Value**（值）文本框中输入一个值。输入标签后，选择 **Save**（保存），或者选择 **Cancel**（取消）以取消添加。

     一次只能添加一个键值标签，然后进行保存。要添加多个键值标签，请重复前面的步骤。  
![\[Lightsail 控制台中的键值标签。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-key-value-tag.png)
**注意**  
有关“仅键”标签和键值标签的更多信息，请参阅[标签](amazon-lightsail-tags.md)。

1. 选择**创建数据库**。

   几分钟内，新的 Lightsail 数据库即可准备好新数据库计划或服务包。

## 后续步骤
<a name="creating-a-database-from-snapshot-next-steps"></a>

在新数据库已启用且运行正常后，完成以下操作：
+ 如果要通过创建新数据库来替换现有数据库，并且有应用程序依赖于此现有数据库，请务必将应用程序依赖关系更新到新数据库。
+ 如果不再需要原始数据库，则将其删除。有关更多信息，请参阅[删除您的数据库](amazon-lightsail-deleting-your-database.md)。
+ 将从快照创建的数据库配置为使用 Lightsail 创建的强密码。有关更多信息，请参阅[管理数据库密码](amazon-lightsail-managing-database-password.md)。

# 下载 SSL/TLS 证书，确保应用程序与 Lightsail 数据库的安全连接
<a name="amazon-lightsail-download-ssl-certificate-for-managed-database"></a>

您可以使用应用程序中的安全套接字层 (SSL) 或传输层安全 (TLS) 来加密与运行 MySQL 或 PostgreSQL 的 Amazon Lightsail 中托管数据库的连接。每个数据库引擎都有自己的用于实施 SSL/TLS 的过程。有关更多信息，请参阅[使用 SSL 连接到 MySQL 数据库](amazon-lightsail-connecting-to-mysql-database-using-ssl.md)，或[使用 SSL 连接到 PostgreSQL 数据库](amazon-lightsail-connecting-to-postgres-database-using-ssl.md)。

**注意**  
可供下载的证书标有亚马逊关系数据库服务（Amazon RDS）的标签，但也适用于Lightsail中的托管数据库。

## 所有 AWS 区域 s 的证书捆绑包
<a name="global-bundle-certificates"></a>

要获取包含所有 AWS 区域中间证书和根证书的证书包，或者如果您的应用程序在 Microsoft Windows 上并且需要 PKCS7 文件，请查看 Amazon Relational Database [AWS 区域 Service 用户指南中的所有证书捆绑包](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.CertificatesAllRegions)。

此根证书是受信任的根实体，并且应适用于大多数情况。但是，如果您的应用程序不接受证书链，则其可能失败。如果您的应用程序不接受证书链，请继续本文档的下一部分。

## 特 AWS 区域定 s 的证书捆绑包
<a name="intermediate-certificates"></a>

要获取包含特定证书的中间证书和根证书的证书包，请参阅 Amazon Relational Database [AWS 区域 Service 用户指南中针对特定证书的证书捆绑包](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.RegionCertificates)。 AWS 区域

# 更新 Lightsail 数据库的 CA 证书版本
<a name="amazon-lightsail-modifying-database-to-use-a-specific-certificate"></a>

Amazon Lightsail 发布了新的证书颁发机构 (CA) 证书，用于使用 SSL/TLS 连接到您的托管数据库。本指南描述如何升级到新的 CA 证书。您仅可通过使用 [https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html) API 操作升级证书。新证书称为 `rds-ca-rsa2048-g1`、`rds-ca-rsa4096-g1` 和 `rds-ca-ecc384-g1`。旧证书称为 `rds-ca-2019`。我们提供 CA 证书作为 AWS 安全最佳实践。有关托管数据库的 CA 证书和受支持的 AWS 区域的信息，请参阅[为托管数据库下载 SSL 证书](amazon-lightsail-download-ssl-certificate-for-managed-database.md)。

旧的 CA 证书（`rds-ca-2019`）将于 2024 年 8 月 22 日到期。因此，我们强烈建议您尽快完成本指南中的步骤，修改您的托管式数据库以使用新证书。如果您的应用程序在 2024 年 8 月 22 日SSL/TLS, no action is required. If these steps are not completed, your applications will fail to connect to your managed database using SSL/TLS之后未使用连接到 Lightsail 托管数据库。

默认情况下，在 2024 年 1 月 26 日之后创建的新托管数据库将使用 `rds-ca-rsa2048-g1` 证书。如果您希望临时修改新的托管数据库以使用旧证书（`rds-ca-2019`），可以使用 AWS Command Line Interface （AWS CLI）进行修改。在 2024 年 1 月 26 日之前创建的任何托管数据库都会使用这些 `rds-ca-2019` 证书，直到您将它们更新为 `rds-ca-rsa2048-g1`、`rds-ca-rsa4096-g1` 和 `rds-ca-ecc384-g1` 证书。



**注意**  
在生产环境中使用本指南中的步骤之前，请先在开发或测试环境中进行测试。

## 先决条件
<a name="modifying-database-prerequisites"></a>
+ 在完成此过程中的步骤之前，请更新您的数据库客户端应用程序以使用新 SSL/TLS 证书。

  更新应用程序以获取新 SSL/TLS 证书的方法取决于您的特定应用程序。*与您的应用程序开发人员合作更新SSL/TLS certificates for your applications. To learn more about updating applications for new SSL/TLS证书，请参阅《Amazon Relati [onal Database Service 用户指南》中的更新应用程序以使用新的 SSL/TLS 证书](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/ssl-certificate-rotation-mysql.html)[连接到 MySQL 数据库实例或更新应用程序以使用新证书连接到 PostgreSQL SSL/TLS 数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/ssl-certificate-rotation-postgresql.html)。*
+ 在本指南中，您将使用 AWS CloudShell 来执行升级。 CloudShell 是一款基于浏览器的预先认证外壳，您可以直接从 Lightsail 控制台启动它。使用 CloudShell，您可以使用首选外壳运行 AWS Command Line Interface (AWS CLI) 命令，例如 Bash PowerShell、或 Z shell。您无需下载或安装命令行工具，即可完成此操作。有关如何设置和使用的 CloudShell更多信息，请参阅 [Lightsai AWS CloudShell l 中的](amazon-lightsail-cloudshell.md)。

## 识别托管数据库的有效 CA 证书
<a name="checking-database-certificate-version"></a>

完成以下步骤以识别您的 Lightsail 数据库实例的有效 CA 证书。

1. 打开终端、[AWS CloudShell](amazon-lightsail-cloudshell.md) 或命令提示符窗口。

1. 输入以下命令以识别托管数据库的有效 CA 证书。

   ```
   aws lightsail get-relational-database --relational-database-name DatabaseName --region DatabaseRegion | grep "caCertificateIdentifier"
   ```

   在命令中，*DatabaseName*替换为要修改的数据库的*DatabaseRegion*名称以及数据库实例所在 AWS 区域 的名称。

   **示例**

   ```
   aws lightsail get-relational-database --relational-database-name Database-1 --region us-east-1 | grep "caCertificateIdentifier"
   ```

   该命令将返回您数据库的有效 CA 证书的 ID。

   **示例**

   ```
   "caCertificateIdentifier": "rds-ca-rsa2048-g1"
   ```

## 修改托管式数据库以使用新 CA 证书
<a name="modifying-database-new-certificate"></a>

完成以下步骤，在 Lightsail 中修改您的托管数据库，使其使用其中一个新的 CA 证书（`rds-ca-rsa2048-g1``rds-ca-rsa4096-g1`、和`rds-ca-ecc384-g1`）。

**重要**  
在更新数据库上的 CA 证书之前，请先更新使用 CA 证书的所有客户端应用程序。

1. 打开终端、[AWS CloudShell](amazon-lightsail-cloudshell.md) 或命令提示符窗口。

1. 输入以下命令以在托管数据库上使用新证书。

   ```
   aws lightsail update-relational-database --relational-database-name DatabaseName --region DatabaseRegion --ca-certificate-identifier rds-ca-rsa2048-g1
   ```

   在命令中，*DatabaseName*替换为要修改的数据库的*DatabaseRegion*名称以及数据库实例所在 AWS 区域 的名称。

   **示例**

   ```
   aws lightsail update-relational-database --relational-database-name Database-1 --region us-east-1 --ca-certificate-identifier rds-ca-rsa2048-g1
   ```

   托管数据库使用的 CA 证书将在数据库的下一个维护时段内更新，或者如果您在命令末尾添加 `--apply-immediately` 参数，则会立即更新。

## 修改托管式数据库以使用旧 CA 证书
<a name="modifying-database-old-certificate"></a>

完成以下步骤，在 Lightsail 中修改您的托管数据库，使其使用旧的 CA 证书 () `rds-ca-2019`。仅在使用新证书（`rds-ca-rsa2048-g1`、`rds-ca-rsa4096-g1` 和 `rds-ca-ecc384-g1`）时遇到严重问题并需要暂时恢复旧证书时执行此操作。

**重要**  
在更新数据库上的 CA 证书之前，请先更新使用 CA 证书的所有客户端应用程序。

1. 打开终端、[AWS CloudShell](amazon-lightsail-cloudshell.md) 或命令提示符窗口。

1. 输入以下命令以在托管式数据库上使用 `rds-ca-2019`。

   ```
   aws lightsail update-relational-database --relational-database-name DatabaseName --region DatabaseRegion --ca-certificate-identifier rds-ca-2019
   ```

   在命令中，*DatabaseName*替换为要修改的数据库的*DatabaseRegion*名称以及数据库实例所在 AWS 区域 的名称。

   **示例**

   ```
   aws lightsail update-relational-database --relational-database-name Database-1 --region us-east-1 --ca-certificate-identifier rds-ca-2019
   ```

   托管数据库使用的 CA 证书将在数据库的下一个维护时段内更新，或者如果您在命令末尾添加 `--apply-immediately` 参数，则会立即更新。

# 为 Lightsail 数据库安排维护和备份
<a name="amazon-lightsail-changing-preferred-maintenance-and-backup-windows"></a>

当 Amazon Lightsail 支持新版本的数据库时，您现有的托管数据库可以升级到该版本。有两种升级方式：次要版本升级和主要版本升级。目前，Lightsail 仅支持次要版本升级。

次要版本升级以及其他数据库维护任务会在您数据库的首选维护时段内自动执行。首选维护时段是从 8 小时的时间段中随机选择 30 分钟的时段。 AWS 区域它可以是一周中的任意一天。数据库备份在首选备份时段内执行。首选的备份窗口是从 8 小时的时间段中随机选择 30 分钟的窗口。 AWS 区域它也可以是一周中的任意一天。

**注意**  
有关每个区域的首选维护时段的更多信息，请参阅 Amazon Relational Database Service (Amazon RDS) 文档中的[维护数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html)指南。有关每个区域的首选备份时段的更多信息，请参阅 Amazon RDS 文档中的[使用备份](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)指南。

本指南介绍如何更改首选维护和备份时段，以便数据库处于最低负载时执行这些操作。

## 先决条件
<a name="changing-preferred-maintenance-and-backup-windows-prerequisites"></a>

必须使用 AWS Command Line Interface (AWS CLI) 来更改数据库的首选维护和备份窗口。

完成以下先决任务：
+ **安装 AWS CLI** — 有关更多信息，请参阅[安装 AWS CLI I](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)。
+ **配置 AWS CLI**-有关更多信息，请参阅[配置 AWS CLI](https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-how-to-set-up-and-configure-aws-cli)。

## 更改数据库维护时段
<a name="changing-preferred-maintenance-and-backup-windows-procedures"></a>

在执行维护或备份操作期间，您的数据库可能会不可用。因此，您可能需要将首选维护或备份时段更改为数据库负载处于最低状态的时间。

**更改数据库维护时段**

1. 打开终端或命令提示符窗口。

1. 输入以下命令以获取您要更改其维护时段的数据库的名称。

   ```
   aws lightsail get-relational-databases
   ```

   您会看到类似于以下示例的结果：  
![\[回 get-relational-databases应。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-database-get-relational-databases-reponse.png)
**注意**  
如果未列出要修改的数据库，请确认您的 AWS CLI 数据库已针对该数据库 AWS 区域 所在的位置进行了配置。有关更多信息，请参阅[配置 AWS CLI](lightsail-how-to-set-up-and-configure-aws-cli.md)。

1. 选中要修改的数据库的名称，然后按 **Ctrl\$1C**（如果使用 Windows）或 **Cmd\$1C**（如果使用 macOS）将其复制到剪贴板，以便在下一步中使用。  
![\[复制数据库名称。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-copy-database-name-cli.png)

1. 根据您要更改的首选时段，输入以下命令之一。
   + 输入以下命令，以更改数据库维护时段。

     ```
     aws lightsail update-relational-database --relational-database-name DatabaseName --preferred-maintenance-window MaintenanceWindow
     ```

     在该命令中，将：
     + *DatabaseName*使用数据库的名称。
     + *MaintenanceWindow*随着新的维护窗口期限。

       以 ddd:hh24:mi-ddd:hh24:mi 格式定义首选维护时段的时间。它还必须采用通用协调时间 (UTC) 格式，并定义为至少 30 分钟的时段。首选维护时段不能与首选备份时段重叠。

     **示例**：

     ```
     aws lightsail update-relational-database --relational-database-name myproductiondb --preferred-maintenance-window Tue:16:00-Tue:16:30
     ```
   + 输入以下命令，以更改数据库备份时段。

     ```
     aws lightsail update-relational-database --relational-database-name DatabaseName --preferred-backup-window BackupWindow
     ```

     在该命令中，将：
     + *DatabaseName*使用数据库的名称。
     + *BackupWindow*使用新的备份窗口期限。

       以 hh24:mi-hh24:mi 格式定义首选备份时段的时间。它还必须采用通用协调时间 (UTC) 格式，并定义为至少 30 分钟的时段。首选备份时段不能与首选维护时段重叠。

     **示例**：

     ```
     aws lightsail update-relational-database --relational-database-name myproductiondb --preferred-backup-window 14:00-14:30
     ```

   您会看到类似于以下示例的结果：  
![\[数据库首选维护时段更新结果。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-update-database-preferred-maintenance-window-response.png)

## 后续步骤
<a name="changing-preferred-maintenance-and-backup-windows-next-steps"></a>

以下指南可帮助您管理数据库：
+ [为您的数据库配置数据导入模式](amazon-lightsail-configuring-database-data-import-mode.md)
+ [为您的数据库配置公有模式](amazon-lightsail-configuring-database-public-mode.md)
+ [管理数据库密码](amazon-lightsail-managing-database-password.md)
+ [连接到 MySQL 数据库](amazon-lightsail-connecting-to-your-mysql-database.md)
+ [连接到 PostgreSQL 数据库](amazon-lightsail-connecting-to-your-postgres-database.md)
+ [将数据导入 MySQL 数据库](amazon-lightsail-importing-data-into-your-mysql-database.md)
+ [将数据导入 PostgreSQL 数据库](amazon-lightsail-importing-data-into-your-postgres-database.md)
+ [创建数据库的快照](amazon-lightsail-creating-a-database-snapshot.md)

# 更改你的 Lightsail 数据库密码
<a name="amazon-lightsail-managing-database-password"></a>

当你在 Amazon Lightsail 中创建新数据库时，你可以让 Lightsail 为你创建一个强密码或指定你自己的密码。您可以随时在 Lightsail 控制台中查看或更改当前的数据库密码。

**管理数据库密码**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 选择要管理其密码的数据库的名称。

1. 在 **Connect (连接)** 选项卡的 **User name and passwords (用户名和密码)** 部分下方，选择**显示**以查看当前数据库密码。  
![\[显示数据库密码\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-database-show-password.png)

1. 要更改数据库密码，请选择 **Change password (更改密码)**。

   您可以选择让 Lightsail 为您创建强密码，也可以在文本框中输入自己的密码。密码可以包含除“/”、“"”或“@”之外的任意可打印 ASCII 字符。对于 MySQL 数据库，密码必须包含 8 到 41 个字符。对于 PostgreSQL，密码必须包含 8 到 128 个字符。  
![\[更改数据库密码\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-database-change-password.png)

1. 完成此操作后，选择**保存**。

   系统将立即应用更改后的数据库密码。如果您输入了自己的密码，系统会立即保存该密码。如果 Lightsail 为您创建了密码，则密码将在几秒钟内生成。选择**显示**以查看新密码。

## 后续步骤
<a name="managing-database-password-next-steps"></a>

以下是一些指南，可帮助您在 Lightsail 中管理数据库：
+ [连接到 MySQL 数据库](amazon-lightsail-connecting-to-your-mysql-database.md)
+ [连接到 PostgreSQL 数据库](amazon-lightsail-connecting-to-your-postgres-database.md)
+ [创建数据库的快照](amazon-lightsail-creating-a-database-snapshot.md)

# 为您的 Lightsail 数据库配置公有访问
<a name="amazon-lightsail-configuring-database-public-mode"></a>

您在 Amazon Lightsail 中托管的数据库只能由您在同一 Lightsail 账户中的 Lightsail 资源（实例、负载均衡器等）访问。一个常见的场景是同时创建一个具有面向公众的 Web 应用程序的 Lightsail 实例和一个不可公开访问的 Lightsail 数据库，然后将它们连接起来。

启用公有模式功能以使您的数据库可公开访问。这样，拥有数据库终端节点、端口、用户名和密码的任何人都可以连接到您的数据库。有关更多信息，请参阅[连接到 MySQL 数据库](amazon-lightsail-connecting-to-your-mysql-database.md)或[连接到 PostgreSQL 数据库](amazon-lightsail-connecting-to-your-postgres-database.md)。

**为您的数据库配置公有模式**

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 选择您要为其配置公有模式的数据库的名称。

1. 选择 **Networking**（联网）选项卡。

1. 在**公有模式**部分下，使用切换按钮将其打开。同样，使用切换按钮将其关闭。  
![\[Lightsail 控制台中的数据库公有模式切换\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-database-public-mode-toggle.png)

   公开可访问性设置立即开始应用，但可能需要几分钟才能完成。在此期间，您的数据库的状态会更改为**正在修改**。应用公开可访问性设置后，数据库的状态会更改为**可用**。

## 后续步骤
<a name="configuring-database-public-mode-next-steps"></a>

以下指南可帮助您管理数据库：
+ [为您的数据库配置数据导入模式](amazon-lightsail-configuring-database-data-import-mode.md)
+ [管理数据库密码](amazon-lightsail-managing-database-password.md)
+ [连接到 MySQL 数据库](amazon-lightsail-connecting-to-your-mysql-database.md)
+ [连接到 PostgreSQL 数据库](amazon-lightsail-connecting-to-your-postgres-database.md)
+ [将数据导入 MySQL 数据库](amazon-lightsail-importing-data-into-your-mysql-database.md)
+ [将数据导入 PostgreSQL 数据库](amazon-lightsail-importing-data-into-your-postgres-database.md)
+ [创建数据库的快照](amazon-lightsail-creating-a-database-snapshot.md)

# 通过参数更新优化 Lightsail 数据库性能
<a name="amazon-lightsail-updating-database-parameters"></a>

数据库参数，也称为数据库系统变量，用于定义 Amazon Lightsail 中托管数据库的基本属性。例如，您可以定义某个数据库参数以限制数据库连接数，或者定义另一个参数以限制数据库缓冲池的大小。本指南向您介绍如何获取托管数据库的参数列表，以及如何使用 AWS Command Line Interface (AWS CLI) 更新这些参数。

**注意**  
有关 MySQL 系统变量的更多信息，请参阅 [MySQL 5.6](https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html)、[MySQL 5.7](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html) 或 [MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html) 文档。有关 PostgreSQL 系统变量的更多信息，请参阅 [PostgreSQL 9.6](https://www.postgresql.org/docs/9.6/index.html)、[PostgreSQL 10](https://www.postgresql.org/docs/10/index.html)、[PostgreSQL 11](https://www.postgresql.org/docs/11/index.html) 或 [PostgreSQL 12](https://www.postgresql.org/docs/12/index.html) 文档。

## 先决条件
<a name="prerequisites-to-update-database-parameters"></a>
+ 如果尚未安装并配置 AWS CLI，请执行该操作。有关更多信息，请参阅[配置为与 Lightsail 配合使用](lightsail-how-to-set-up-and-configure-aws-cli.md)。 AWS CLI 

## 获取可用数据库参数的列表
<a name="get-database-parameters"></a>

数据库参数因数据库引擎而异，因此，您应获取可用于托管式数据库的参数列表。这样您就可以判断哪些参数需要修改，以及参数的生效方式。

**获取可用数据库参数的列表**

1. 打开终端或命令提示符窗口。

1. 输入以下命令以获取您数据库参数的列表。

   ```
   aws lightsail get-relational-database-parameters --relational-database-name DatabaseName
   ```

   在命令中，*DatabaseName*替换为数据库的名称。

   您会看到类似于以下示例的结果：  
![\[获取关系数据库参数结果\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-get-database-parameters-result.png)
**注意**  
如果参数结果分页显示，系统会列出下一页标记 ID。请记下下一页标记 ID 并在下一步中使用该 ID，以查看下一页参数结果。

1. 如果结果分页显示，请使用以下命令查看其他参数集。否则，请跳到下一步。

   ```
   aws lightsail get-relational-database-parameters --relational-database-name DatabaseName --page-token NextPageTokenID
   ```

   在该命令中，将：
   + *DatabaseName*用你的数据库的名字。
   + *NextPageTokenID*使用下一页的令牌 ID。

   结果将显示每个数据库参数的以下信息：
   + **允许的值** – 指定参数值的有效范围。
   + **Apply method (应用方法)** – 指定何时应用参数更改。允许的选项为 `immediate` 或 `pending-reboot`。有关如何定义应用方法的更多信息，请参阅下面的“Apply type (应用类型)”。
   + **Apply type (应用类型)** – 指定特定于引擎的提交类型。如果为 `dynamic`，则说明可以使用 `immediate` 应用方法应用该参数，且数据库将立即开始使用新参数值。如果为 `static`，则说明只能使用 `pending-reboot` 应用方法应用该参数，且数据库将仅在重启后开始使用新参数。
   + **Data type (数据类型)** – 指定参数的有效数据类型。
   + **Description (描述)** – 对参数的描述。
   + **Is modifiable (可修改)** – 一个布尔值，用于指示参数是否可修改。如果为 `true`，则说明可修改参数。
   + **参数名称** – 指定参数的名称。此值应与 `update relational database` 操作及 `parameter name` 参数结合使用。

1. 找到您要更改的参数，并记下参数名称、允许的值及应用方法。我们建议您将参数名称复制到剪贴板，以避免输入错误的信息。要执行此操作，请突出显示该参数名称，然后按 **Ctrl\$1C**（如果使用的是 Windows）或 **Cmd\$1C**（如果使用的是 macOS），将其复制到剪贴板。然后，相应地按 **Ctrl\$1V** 或 **Cmd\$1V** 对其进行粘贴。

   找到要修改的参数的名称后，继续执行本指南的下一部分，将参数更改为所需的值。

## 更新数据库参数
<a name="update-database-parameters"></a>

获得要更改的参数名称后，请执行以下步骤在 Lightsail 中修改托管数据库的参数：

**更新数据库参数**
+ 在终端窗口或命令提示符窗口中输入以下命令以更新托管式数据库的参数。

  ```
  aws lightsail update-relational-database-parameters --relational-database-name DatabaseName --parameters "parameterName=ParameterName,parameterValue=NewParameterValue,applyMethod=ApplyMethod"
  ```

  在该命令中，将：
  + *DatabaseName*用你的数据库的名字。
  + *ParameterName*使用您要修改的参数的名称。
  + *NewParameterValue*使用参数的新值。
  + *ApplyMethod*使用参数的 apply 方法。

    如果参数的应用类型为 `dynamic`，则可以使用 `immediate` 应用方法应用该参数，且数据库将立即开始使用新参数值。但是，如果参数的应用类型为 `static`，则只能使用 `pending-reboot` 应用方法应用该参数，且数据库将仅在重启后开始使用新参数。

  您会看到类似于以下示例的结果：  
![\[更改关系数据库参数结果\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-update-database-parameters-result.png)

  数据库参数的更新取决于所用的应用方法。

# 升级 Lightsail 数据库的主要版本
<a name="amazon-lightsail-upgrade-database-major-version"></a>

当 Amazon Lightsail 支持新版本的数据库引擎时，您可以将数据库升级到新版本。Lightsail 提供了两个数据库蓝图，MySQL 和 PostgreSQL。本指南介绍如何升级 MySQL 或 PostgreSQL 数据库实例的主要版本。您仅可通过使用 [https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html) API 操作来升级数据库主要版本。

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

**了解更改**  
主要版本升级可能会引入与先前版本的许多不兼容之处。在升级期间，这些不兼容性会引起问题。为成功执行升级，可能需要准备数据库。有关升级数据库主要版本的信息，请参阅 MySQL 和 PostgreSQL 网站上的以下主题。
+ [准备安装以进行升级](https://dev.mysql.com/doc/refman/8.0/en/upgrade-prerequisites.html)
+ [MySQL 升级检查器实用程序](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-upgrade.html)
+ [升级 PostgreSQL 集群](https://www.postgresql.org/docs/current/upgrading.html)

## 先决条件
<a name="upgrade-database-major-version-prerequisites"></a>

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

1. 建议您在进行任何更改之前创建数据库实例的快照。有关更多信息，请参阅[创建 Lightsail 数据库的快照](amazon-lightsail-creating-a-database-snapshot.md)。

1. （可选）根据刚创建的快照创建新的数据库实例。由于数据库更新需要停机时间，因此您可以在升级当前处于活动状态的数据库之前，在新数据库上测试升级情况。有关创建数据库副本的更多信息，请参阅[创建 Lightsail 数据库的快照](amazon-lightsail-creating-a-database-snapshot.md)。

## 更新数据库主要版本
<a name="upgrade-database-major-version-update-procedure"></a>

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

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

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据库**。

1. 记下要升级 AWS 区域 的数据库实例的名称和名称。  
![\[Lightsail 控制台中新数据库实例的名称和区域。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql80-upgrade-dbname-endpoint.png)

1. 在 Lightsail 控制台的左下角，选择。**CloudShell** CloudShell 终端将在同一个浏览器选项卡中打开。当系统显示命令提示符时，表示 shell 已经准备就绪，可以进行交互。

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

   ```
   aws lightsail get-relational-database-blueprints
   ```

1. 记下您要升级的主要版本的蓝图 ID。例如 `mysql_8_0`。  
![\[CloudShell 窗口中 get-relational-database-blueprints命令的响应。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql80-upgrade-get-blueprints.png)

1. 输入以下命令以升级数据库的主要版本。升级将在数据库的下一个维护时段内进行。在命令中，*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 参考[https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html)中的。  
![\[在窗口中执行 update-relational-database--apply-immedlity 命令的成功结果。 CloudShell\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql80-upgrade-successful.png)

1. 输入以下命令以验证是否已计划在下一个数据库维护时段进行主要版本升级。在命令中，*DatabaseName*替换为数据库的*DatabaseRegion*名称和数据库所在 AWS 区域 的名称。

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

   在 `get-relational-database` 响应中，数据库 [https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html#Lightsail-Type-RelationalDatabase-state](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html#Lightsail-Type-RelationalDatabase-state) 会在下一个维护时段通知您即将进行主要版本升级。您可以在响应的 [https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html#Lightsail-Type-RelationalDatabase-preferredMaintenanceWindow](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateRelationalDatabase.html#Lightsail-Type-RelationalDatabase-preferredMaintenanceWindow) 部分中找到下一个维护时段的日期和时间。

   **数据库实例状态**

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

   **维护窗口**

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

## 后续步骤
<a name="upgrade-database-major-version-next-steps"></a>

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

# 在 Lightsail 中将数据从 MySQL 5.6 数据库迁移到更新的版本
<a name="amazon-lightsail-migrate-mysql-56-to-newer-database"></a>

在本教程中，我们将介绍如何在 Amazon Lightsail 中将数据从 MySQL 5.6 数据库迁移到新的 MySQL 5.7 数据库。要执行迁移，请连接到 MySQL 5.6 数据库并导出现有数据。然后连接到 MySQL 5.7 数据库并导入数据。在新数据库获得所需数据后，您可以重新配置应用程序以连接到新数据库。

**内容**
+ [步骤 1：了解更改](#migrate-mysql-5-6-understand-the-changes)
+ [步骤 2：完成先决条件](#migrate-mysql-5-6-complete-the-prerequisites)
+ [步骤 3：连接到 MySQL 5.6 数据库并导出数据](#migrate-mysql-5-6-connect-to-mysql-5-6)
+ [步骤 4：连接到 MySQL 5.7 数据库并导入数据](#migrate-mysql-5-6-connect-to-mysql-5-7)
+ [步骤 5：测试您的应用程序并完成迁移](#migrate-mysql-5-6-test-your-application)

## 步骤 1：了解更改
<a name="migrate-mysql-5-6-understand-the-changes"></a>

从 MySQL 5.6 数据库到 MySQL 5.7 数据库是一次重大的版本升级。主要的版本升级可能包含未与现有应用程序向后兼容的数据库更改。建议您在将任何升级应用于生产实例前全面测试这些升级。有关更多信息，请参阅 *MySQL 文档*中的 [MySQL 5.7 中的更改](https://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html)。

我们建议您首先将数据从现有的 MySQL 5.6 数据库迁移到新的 MySQL 5.7 数据库。然后在预生产实例上使用新的 MySQL 5.7 数据库测试您的应用程序。如果应用程序的运行与预期一致，则将更改应用于生产实例中的应用程序。为了更进一步，您可以将数据从现有的 MySQL 5.7 数据库迁移到新的 MySQL 8.0 数据库，再次在预生产中测试应用程序，并将更改应用于生产中的应用程序。

## 步骤 2：完成先决条件
<a name="migrate-mysql-5-6-complete-the-prerequisites"></a>

您必须完成以下先决条件才能继续本教程的后续部分：
+ 在本地计算机上安装 MySQL Workbench，您将使用该计算机连接到数据库以导出和导入数据。 有关更多信息，请参阅 *MySQL网站*上的[ MySQL Workbench 下载](https://dev.mysql.com/downloads/workbench/)。
+ 在 Lightsail 中创建 MySQL 5.7 数据库。有关更多信息，请参阅[在 Amazon Lightsail 中创建数据库](amazon-lightsail-creating-a-database.md)。
+ 启用数据库的公有模式。这将允许您使用 MySQL Workbench 来连接它们。导出和导入数据后，可以禁用数据库的公有模式。有关更多信息，请参阅[配置数据库的公有模式](amazon-lightsail-configuring-database-public-mode.md)。
+ 配置 MySQL Workbench 以连接数据库 有关更多信息，请参阅[连接到您的 MySQL 数据库](amazon-lightsail-connecting-to-your-mysql-database.md)。

## 步骤 3：连接到 MySQL 5.6 数据库并导出数据
<a name="migrate-mysql-5-6-connect-to-mysql-5-6"></a>

在这部分教程中，您将连接到 MySQL 5.6 数据库，并使用 MySQL Workbench 从中导出数据。有关使用 MySQL Workbench 导出数据的更多信息，请参阅 *MySQL Workbench 手册*中的 [SQL 数据导出和导入向导](https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html)。

1. 使用 MySQL Workbench 连接您的 MySQL 5.6 数据库。

   MySQL Workbench 使用 mysqldump 来导出数据。MySQL Workbench 使用的 mysqldump 版本必须与您将从中导出数据的 MySQL 数据库版本相同（或版本更高）。例如，如果您要从 MySQL 5.6.51 数据库中导出数据，则必须使用 mysqldump 版本 5.6.51 或更高版本。您可能需要在本地计算机上下载并安装适当版本的 MySQL 服务器，以确保您使用的是正确版本的 mysqldump。要下载特定版本的 MySQL 服务器，请参阅 *MySQL 网站*上的 [MySQL 社群版本下载](https://dev.mysql.com/downloads/mysql/)。**Windows MSI 的 MySQL 安装程序**提供了下载任何版本 MySQL 服务器的选项。

   请完成以下步骤，选择要在 MySQL Workbench 中使用的正确版本的 mysqldump：

   1. 在 MySQL Workbench 中，选择**编辑**，然后选择**首选项**。  
![\[MySQL Workbench 编辑菜单\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-file-preferences.png)

   1. 在导航窗格中选择**管理**。

   1. 在 **Workbench 首选项**窗口中，选择 **Myqldump 工具的路径**文本框。  
![\[MySQL Workbench 首选项\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-preferences.png)

   1. 浏览到相应的 `mysqldump` 可执行文件所在的位置，然后双击它。

      在 Windows 中，`mysqldump.exe` 文件通常位于 `C:\Program Files\MySQL\MySQL Server 5.6\bin` 目录。对于 Linux，在终端中输入 `which mysqldump` 以查看 **mysqldump** 文件的位置。  
![\[查找 mysqldump 文件\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-mysqldump-file.png)

   1. 在 **Workbench 首选项窗口**中选择**确定**。  
![\[保存 MySQL Workbench 首选项\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-preferences-save.png)

1. 在**导航窗格**中选择**数据导出**  
![\[MySQL Workbench 数据导出选项\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-data-export.png)

1. 在显示的**数据导出**选项卡上，在要导出的表旁边添加复选标记。
**注意**  
在此示例中，我们选择了包含 “Bitnami 认证” WordPress 实例上的 WordPress 网站数据的`bitnami_wordpress`表。  
![\[要导出的 MySQL Workbench 表\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-export-table.png)

1. 在**导出选项**部分，选择**导出到自包含文件**，然后记下保存导出文件的目录。  
![\[MySQL Workbench 导出选项\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-export-options.png)

1. 选择 **Start Export (开始导出)**。

1. 等待导出完成，然后再继续执行本教程的下一部分。  
![\[MySQL Workbench 导出进度\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-export-progress.png)

## 步骤 4：连接到 MySQL 5.7 数据库并导入数据
<a name="migrate-mysql-5-6-connect-to-mysql-5-7"></a>

在这部分教程中，您将连接到 MySQL 5.7 数据库，并使用 MySQL Workbench 导入数据。

1. 在本地计算机上使用 MySQL Workbench 连接您的 MySQL 5.7 数据库。

1. 在**导航窗格**中选择**数据导入/恢复**。  
![\[MySQL Workbench 数据导出选项\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-data-import.png)

1. 在显示的**数据导入**选项卡中，选择**从自包含文件导入**，然后选择文本框旁边的省略号按钮。  
![\[MySQL Workbench 导入文件\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-import-file.png)

1. 浏览到导出文件的保存位置，然后双击它。  
![\[MySQL Workbench 创建新架构\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-choose-export-file.png)

1. 在**要导入到的默认架构**部分中选择**新建**。  
![\[MySQL Workbench 创建新架构\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-create-new-schema.png)

1. 在显示的**创建架构**窗口中输入架构的名称。
**注意**  
在此示例中，我们输入 `bitnami_wordpress`，因为它是我们导出的数据库表的名称。  
![\[新架构的 MySQL Workbench 名称\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-schema-name.png)

1. 选择 **Start Import (开始导入)**。  
![\[MySQL Workbench 开始导入\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-start-import.png)

1. 等待导入完成，然后再继续本教程的下一部分。  
![\[MySQL Workbench 导入进度\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-import-progress.png)

## 步骤 5：测试您的应用程序并完成迁移
<a name="migrate-mysql-5-6-test-your-application"></a>

至此，您的数据已经位于您的新 MySQL 5.7 数据库中。在预生产环境中配置应用程序，并测试应用程序与新 MySQL 5.7 数据库之间的连接。如果应用程序的运行与预期一致，则将更改应用于生产环境中的应用程序。

完成迁移后，应禁用数据库的公有模式。当您确定您不再需要 MySQL 5.6 数据库时，可将其删除。但是，您应该先创建 MySQL 5.6 数据库的快照，然后再删除它。使用时，您还应该创建新 MySQL 5.7 数据库的快照。有关更多信息，请参阅[创建数据库快照](amazon-lightsail-creating-a-database-snapshot.md)。