

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

# 将本地 MySQL 数据库迁移至 Aurora MySQL
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql"></a>

*Igor Obradovic，Amazon Web Services*

## Summary
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-summary"></a>

此模式说明了如何将本地 MySQL 源数据库迁移至 Amazon Aurora MySQL 兼容版。**它描述了两个迁移选项：使用 AWS Database Migration Service (AWS DMS) 或使用原生 MySQL 工具，例如 mysql **dbcopy 和 mysqld** ump。**

## 先决条件和限制
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-prereqs"></a>

**先决条件**
+ 活跃的 AWS 账户
+ 本地数据中心的源 MySQL 数据库

**限制**
+ 数据库大小限制：128 TB

**产品版本**
+ MySQL 版本 8.0（Aurora MySQL 版本 3）提供标准支持。
+ MySQL 版本 5.7（Aurora MySQL 版本 2）提供扩展支持，但需要额外付费。

有关支持版本的最新列表，请参阅 AWS 文档中的 [Amazon Aurora 版本](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.release-calendars.html)。如果您正在使用 AWS DMS，另请参阅使用与 M [ySQL 兼容的数据库作为目标适用于](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html)支持的 AWS DMS MySQL 版本。 AWS DMS

## 架构
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-architecture"></a>

**源技术堆栈**
+ 本地数据库。

**目标技术堆栈**
+ Amazon Aurora MySQL 兼容版 

**目标架构**

Aurora 数据存储在集群卷中，集群卷是一个使用固态硬盘 (SSDs) 的单个虚拟卷。集群卷由跨一个 AWS 区域中的三个可用区的数据副本组成。由于数据会自动跨可用区复制，因此，其具有高持久性，同时数据丢失的可能性很小。

Aurora 会自动将您的数据库卷划分为多个 10 GB 的分段，分布在多个磁盘上。数据库卷中每 10 GB 的数据块会以六种方式进行复制，覆盖三个可用区。下图说明了 Aurora 数据库集群中的集群卷、写入器数据库实例和读取器数据库实例之间的关系，以及计算能力和存储的分离情况。有关此架构的更多信息，请参阅 [Aurora 文档](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html)和[常见问题解答](https://aws.amazon.com/rds/aurora/faqs/#product-faqs)。

![AWS 上的 Aurora MySQL 数据库实例和共享存储卷。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/0d7d8ebd-e0f2-4bcf-b296-8bdfb2f12b64.png)


**数据迁移架构**

*使用 AWS DMS：*

下图说明了使用将本地 MySQL 数据库迁移到与 Aurora MySQL 兼容的集群的 AWS Cloud过程。 AWS DMS

![使用 AWS DMS 将本地 MySQL 数据库迁移到 Aurora MySQL。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/e5d72ebd-d157-45d7-8844-d1011f1646c0.png)


*使用原生 MySQL 工具：*

**下图说明了使用 mysqldbcopy 和 mysqldump 等原生 MySQL 工具将本地 MySQL 数据库迁移到中兼容 Aurora MySQL 的集群**的情况**。 AWS Cloud**

![使用 mysqldbcopy 和 mysqldump 将本地 MySQL 数据库迁移到 Aurora MySQL。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/26258752-24f6-4241-a49f-59c15e946314.png)


 

## 工具
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 支持多个源数据库和目标数据库引擎。有关支持的 MySQL 源数据库和目标数据库的信息 AWS DMS，请参阅[将兼容 MySQL 的数据库迁移到](https://docs.aws.amazon.com/dms/latest/sbs/CHAP_MySQL.html)。 AWS我们建议您使用最新版本的， AWS DMS 以获得最全面的版本和功能支持。
+ [mysqldbcopy](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) 是 MySQL 实用程序，用于在单台服务器上或服务器之间复制 MySQL 数据库。
+ [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) 是 MySQL 实用程序，用于从 MySQL 数据库创建转储文件，以实现备份或迁移目的。

## 操作说明
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-epics"></a>

### 计划迁移
<a name="plan-the-migration"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 验证版本和引擎。 | 验证源数据库和目标数据库的版本和引擎。 | 数据库管理员 | 
| 确定硬件要求。 | 确定目标服务器实例的硬件要求。 | 数据库管理员、系统管理员 | 
| 确定存储要求。 | 识别存储需求（存储类型和容量）。 | 数据库管理员、系统管理员 | 
| 选择实例类型。 | 根据计算、存储和网络要求选择合适的实例类型。 | 数据库管理员、系统管理员 | 
| 确定网络访问安全要求。 | 确定源数据库和目标数据库的网络访问安全要求。 | 数据库管理员、系统管理员 | 
| 确定策略。 | 确定应用程序迁移策略。 | 数据库管理员、应用程序所有者、系统管理员 | 

### 配置基础设施
<a name="configure-the-infrastructure"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建虚拟私有云（VPC）。 | 有关说明，请参阅 Amazon Virtual Private Cloud（Amazon VPC）文档中的[创建 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html)。 | 系统管理员 | 
| 创建安全组。 | 有关说明，请参阅 Amazon VPC 文档中的[为 VPC 创建安全组](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)。 | 系统管理员 | 
| 在 AWS 账户中配置并启动 Aurora MySQL 兼容版数据库集群。 | 有关说明，请参阅 Aurora 文档中的[创建 Amazon Aurora 数据库集群](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html)。 | 系统管理员 | 

### 迁移数据 - 选项 1
<a name="migrate-data---option-1"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 使用原生 MySQL 工具或第三方工具迁移数据库对象和数据。 | 有关说明，请参阅 MySQL 工具（例如 [mysqldbcopy](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) 和 [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html)）文档。 | 数据库管理员 | 

### 迁移数据 - 选项 2
<a name="migrate-data---option-2"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 使用迁移数据 AWS DMS。 | 有关说明，请参阅文档中的[使用与 MySQL 兼容的数据库作为源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html)和[使用 MySQL 兼容的数据库作为目标](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html)。 AWS DMS  | 数据库管理员 | 

### 迁移应用程序
<a name="migrate-the-application"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 遵循策略。 | 遵循应用程序迁移策略。 | 数据库管理员、应用程序所有者、系统管理员 | 

### 割接
<a name="cut-over"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 切换应用程序客户端。 | 将应用程序客户端切换为连接到新的 Aurora 集群端点。 | 数据库管理员、应用程序所有者、系统管理员 | 

### 关闭项目
<a name="close-the-project"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 关闭资源。 | 关闭临时 AWS 资源。 | 数据库管理员、系统管理员 | 
| 查看文档。 | 查看和验证项目文档。 | 数据库管理员、应用程序所有者、系统管理员 | 
| 收集指标。 | 收集与迁移时间、手动步骤与使用工具的比例、成本节约等方面的指标。 | 数据库管理员、应用程序所有者、系统管理员 | 
| 完成迁移项目。 | 关闭项目并提供反馈。 | 应用程序所有者，数据库管理员，系统管理员 | 

## 相关资源
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-resources"></a>

**参考**
+ [将数据迁移到 Amazon Aurora MySQL 数据库集群](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html)
+ [AWS DMS 网站](https://aws.amazon.com/dms/)
+ [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Amazon Aurora 定价](https://aws.amazon.com/rds/aurora/pricing/)
+ [创建并连接到 Aurora MySQL 数据库集群](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.Aurora.html)
+ [Amazon VPC 和 Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Amazon Aurora 文档](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)

**教程和视频**
+ [入门 AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Amazon Aurora 入门](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.html)