

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

# 在 Lightsail 中将 WordPress 数据传输到 MySQL 托管数据库
<a name="amazon-lightsail-connect-wordpress-to-mysql"></a>

帖子、页面和用户的关键 WordPress 网站数据存储在您的 Amazon Lightsail 实例上运行的 MySQL 数据库中。如果实例出现故障，您的数据可能会变得无法恢复。要避免这种情况，您应将网站数据传输到 MySQL 托管数据库。

在本教程中，我们将向您展示如何在 Lightsail 中将您的 WordPress 网站数据传输到 MySQL 托管数据库。我们还将向您展示如何编辑实例上的 WordPress 配置 (`wp-config.php`) 文件，以便您的网站连接到托管数据库，并停止连接到实例上运行的数据库。

**内容**
+ [步骤 1：完成先决条件](#connect-wordpress-to-mysql-prerequisites)
+ [步骤 2：将 WordPress 数据库传输到您的 MySQL 托管数据库](#transfer-wordpress-database-to-mysql)
+ [步骤 3：进行配置 WordPress 以连接您的 MySQL 托管数据库](#configure-wordpress-to-connect-to-mysql)
+ [步骤 4：完成后续步骤](#connect-wordpress-to-mysql-next-steps)

## 步骤 1：完成先决条件
<a name="connect-wordpress-to-mysql-prerequisites"></a>

在开始之前，请满足以下先决条件：
+ 在 Lightsail 中创建一个 WordPress 实例，并确保其处于运行状态。有关更多信息，请参阅[启动和配置实 WordPress 例](amazon-lightsail-launch-and-configure-wordpress.md)。
+ 在 Lightsail 中创建一个 MySQL 托管数据库，该数据库与您的 WordPress 实例位于相同的 AWS 区域，并确保其处于运行状态。 WordPress 适用于 Lightsail 中所有可用的 MySQL 数据库选项。有关更多信息，请参阅[在 Amazon Lightsail 中创建数据库](amazon-lightsail-creating-a-database.md)。
+ 为 MySQL 托管数据库启用公有模式和数据导入模式。在完成本教程中的步骤后，可以禁用这些模式。有关更多信息，请参阅[为您的数据库配置公有模式](amazon-lightsail-configuring-database-public-mode.md)和[为您的数据库配置数据导入模式](amazon-lightsail-configuring-database-data-import-mode.md)。

## 步骤 2：将 WordPress 数据库传输到您的 MySQL 托管数据库
<a name="transfer-wordpress-database-to-mysql"></a>

完成以下步骤，将您的 WordPress 网站数据传输到 Lightsail 中的 MySQL 托管数据库。

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

1. 在**实例**选项卡中，为您的实例选择基于浏览器的 SSH 客户端图标。 WordPress   
![Lightsail 控制台中基于浏览器的 SSH 客户端图标。](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-wordpress-quick-connect.png)

1. 在基于浏览器的 SSH 客户端连接到您的 WordPress 实例后，输入以下命令将您的实例上的`wordpress`数据库中的数据传输到 MySQL 托管数据库。请务必{{DbUserName}}替换为托管数据库的用户名，并{{DbEndpoint}}替换为托管数据库的终端节点地址。

   ```
   sudo mysqldump -u root --databases wordpress --single-transaction --compress --order-by-primary | sudo mysql -u {{DbUserName}} --host {{DbEndpoint}} --password
   ```

   **示例**

   ```
   sudo mysqldump -u root --databases wordpress --single-transaction --compress --order-by-primary | sudo mysql -u {{dbmasteruser}} --host {{ls-abc123exampleE67890.czowadgeezqi.us-west-2.rds.amazonaws.com}} --password
   ```

1. 在出现提示时，输入您的 MySQL 托管数据库的密码，然后按 **Enter**。

   在键入密码时，您将无法看到密码。

1. 如果出现错误，请确认您使用的是正确的数据库用户名、密码或终端节点，然后重试。

## 步骤 3：进行配置 WordPress 以连接您的 MySQL 托管数据库
<a name="configure-wordpress-to-connect-to-mysql"></a>

完成以下步骤编辑 WordPress 配置文件 (`wp-config.php`)，以便您的网站连接到 MySQL 托管数据库。

1. 在连接到您的 WordPress 实例的基于浏览器的 SSH 客户端中，输入以下命令以创建`wp-config.php`文件备份，以防出现问题。

   ```
   sudo cp /var/www/wp-config.php /var/www/wp-config.php-backup
   ```

1. 输入以下命令以使用 Nano 文本编辑器打开 `wp-config.php` 文件。

   ```
   sudo nano /var/www/wp-config.php
   ```

1. 向下滚动，直到找到`DB_USER``DB_PASSWORD`、和的值`DB_HOST`。

1. 修改以下值：
   + **DB\_USER** – 编辑此值以匹配 MySQL 托管数据库的用户名。Lightsail 托管数据库的默认主用户名为。`dbmasteruser`
   + **DB\_PASSWORD** – 编辑此值以匹配 MySQL 托管数据库的强密码。有关更多信息，请参阅[管理数据库密码](amazon-lightsail-managing-database-password.md)。
   + **DB\_HOST** – 编辑此值以匹配 MySQL 托管数据库的端点。请务必在主机地址末尾添加 `:3306` 端口号。例如 `ls-abc123exampleE67890.czowadgeezqi.us-west-2.rds.amazonaws.com:3306`。

1. 按 **Ctrl\+X** 以退出 Nano，然后按 **Y** 和 **Enter** 以保存您的编辑。

1. 输入以下命令以重新启动实例的 Web 服务。

   ```
   sudo systemctl restart apache2
   ```

   您的 WordPress 站点现已配置为使用 MySQL 托管数据库。
**注意**  
如果出于任何原因您需要还原原始 `wp-config.php` 文件，请输入以下命令，以使用您在本教程的前面创建的备份还原它。  

   ```
   sudo cp /var/www/wp-config.php-backup /var/www/wp-config.php
   ```

## 步骤 4：完成后续步骤
<a name="connect-wordpress-to-mysql-next-steps"></a>

将 WordPress网站连接到 MySQL 托管数据库后，应完成以下额外步骤：
+ 创建您的 WordPress 实例的快照。有关更多信息，请参阅[创建 Linux 或 Unix 实例的快照](lightsail-how-to-create-a-snapshot-of-your-instance.md)。
+ 创建 MySQL 托管数据库的快照。有关更多信息，请参阅[创建数据库的快照](amazon-lightsail-creating-a-database-snapshot.md)。
+ 禁用 MySQL 托管数据库的公有模式和数据导入模式。有关更多信息，请参阅[为您的数据库配置公有模式](amazon-lightsail-configuring-database-public-mode.md)和[为您的数据库配置数据导入模式](amazon-lightsail-configuring-database-data-import-mode.md)。