跳至内容

如何使用 Amazon S3 将 MySQL 数据迁移到 Aurora MySQL 数据库集群?

2 分钟阅读
0

我想使用 Amazon Simple Storage Service (Amazon S3) 将数据从自主管理的 MySQL 数据库迁移到 Amazon Aurora MySQL 兼容版数据库集群。

解决方法

安装 Percona Xtrabackup

要直接复制 MySQL 数据目录及其文件,请使用 Percona XtraBackup 工具。最佳做法是将此工具用于大型数据库,以缩短恢复时间。有关此工具的详细信息,请参阅 Percona XtraBackup 网站上的 Percona XtraBackup - Documentation(Percona XtraBackup - 文档)

**注意:**无法使用 Restore from S3(从 S3 恢复)选项来恢复导出到 Amazon S3 的快照。

有关如何迁移 MySQL 5.7 的说明,请参阅 Percona XtraBackup 网站上的 Installing Percona XtraBackup 2.4(安装 Percona XtraBackup 2.4)。有关如何迁移 MySQL 8.0 的说明,请参阅 Percona XtraBackup 网站上的 Install Percona XtraBackup 8.0 overview(安装 Percona XtraBackup 8.0 概述)。确保 Percona XtraBackup 版本与您的源数据库的引擎版本兼容。

备份您的数据

完成以下步骤:

  1. 连接到运行 MySQL 数据库的 Amazon Elastic Compute Cloud (Amazon EC2) 实例或本地服务器。
  2. 要备份数据库,请运行以下命令:
    xtrabackup --backup --user=myuser --password --stream=xbstream \--target-dir=/on-premises/s3-restore/backup | split -d --bytes=500MB \- /on-premises/s3-restore/backup/backup.xbstream

**注意:**请将 myuser 替换为您的源数据库用户名,将 /on-premises/s3-restore/backup 替换为要创建输出文件的目录。此命令可创建 MySQL 数据库的备份,该备份会被拆分为多个 xbstream 文件。

Aurora 不会从源恢复所有内容。您必须手动重新创建以下资源:

  • 用户 AWS 账户
  • 函数
  • 存储过程
  • 时区信息

有关 Percona XtraBackup 的详细信息,请参阅备份注意事项

将您的备份上传到 S3 存储桶

完成以下步骤:

  1. 创建 S3 存储桶
    **注意:**您的存储桶必须与您的 EC2 实例和 Aurora 数据库集群位于同一 AWS 区域。
  2. 选择您的新存储桶,然后选择 Create folder(创建文件夹)。
  3. 选择新文件夹,然后选择 Upload(上传)。
  4. 上传 Percona XtraBackup 工具创建的文件
  5. (可选)根据您的用例配置其他属性,例如权限或属性。
  6. 选择 Upload(上传)。
    **注意:**将文件上传到 S3 存储桶时,可以使用服务器端加密来加密数据。

将您的数据库从 Amazon S3 导入到 Aurora

完成以下步骤:

  1. 登录 AWS 管理控制台,然后打开 Aurora 和 RDS 控制台
  2. 在导航窗格中,选择 Dashboard(控制面板)。
  3. Create a database(创建数据库)下,选择 Restore from S3(从 S3 恢复)。
  4. S3 Source(S3 源)下的 S3 bucket(S3 存储桶)下拉列表中,选择您创建的 S3 存储桶。
  5. (可选)对于 S3 prefix(S3 前缀),输入存储在 Amazon S3 存储桶中的文件的文件路径前缀。
    **重要事项:**输入存储桶名称时,请勿使用前导斜杠或末尾斜杠 (/)。
  6. 对于 Engine version(引擎版本),输入您的源 MySQL 引擎版本。您也可以输入更新的引擎版本。
  7. 对于 IAM role(IAM 角色),您可以选择现有的 IAM 角色。
  8. (可选)您也可以通过选择 Create a new role(创建新角色)来创建新的 IAM 角色
  9. 选择您的 Cluster storage configuration(集群存储配置)。
  10. 选择您的 Instance configuration(实例配置)。
  11. 配置您的 Settings(设置)。
  12. 对于 Availability & durability(可用性和耐久性),请选择是否创建多可用区部署。
  13. 对于 Connectivity(连接),请检查您的连接设置。
  14. 选择 Create database(创建数据库)。
  15. 集群处于 Available(可用)状态后,验证您的 Aurora MySQL 数据库集群是否出现在Databases(数据库)下。

相关信息

使用 Percona XtraBackup 和 Amazon S3 从 MySQL 进行物理迁移

Percona XtraBackup

Percona XtraBackup 网站上的 The backup cycle - full backups(备份周期 - 完全备份)

AWS 官方已更新 1 年前