

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

# 在 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. 在 “**导出选项**” 部分，选择 “**导出到 Self-Contained 文件**”，然后记下保存导出文件的目录。  
![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.  Import/Restore在 “**导航器”** 窗格中选择**数据**。  
![MySQL Workbench 数据导出选项](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/mysql-workbench-data-import.png)

1. 在出现的 “**数据导入**” 选项卡中，选择 “**从 Self-Contained 文件导入**”，然后选择文本框旁边的省略号按钮。  
![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)。