如何使用 Amazon S3 将 MySQL 数据迁移到 Aurora MySQL 数据库集群?
上次更新时间:2019 年 5 月 29 日
我想将数据从 MySQL 迁移到 Amazon Aurora MySQL 数据库集群。如何使用 Amazon Simple Storage Service (Amazon S3) 将 MySQL 数据恢复到 Aurora MySQL 数据库集群?
解决方法
Amazon Aurora MySQL 与 MySQL 5.6 和 MySQL 5.7 版本兼容。要恢复 MySQL innobackupex 备份,请先进入 Percona 网站并安装 Percona Xtrabackup(版本 2.3 或更高版本)到您的 Amazon Elastic Compute Cloud (Amazon EC2) 实例:
sudo yum install percona-xtrabackup-file_name_and_extension
注意:将 file_name_and_extension 替换为相应的文件名和扩展名,具体取决于您的 Percona Xtrabackup 程序包。请参阅以下示例:
sudo yum install percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm
安装 Percona Xtrabackup 后,备份要迁移到 Aurora MySQL 的数据。然后,将备份上传到 Amazon S3 以执行恢复操作。有关更多信息,请参阅 Percona 文档中的备份周期。
连接到 EC2 实例并备份您的 MySQL 数据库
2. 安装 Percona Xtrabackup:
sudo yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
sudo yum install perl-DBD-MySQL -y
sudo yum install percona-xtrabackup -y
3. 备份数据库:
xtrabackup --backup --user= --password= --stream=xbstream \
--target-dir= | split -d --bytes=500MB \
- .xbstream
此命令将创建 MySQL 数据库的备份,该备份被拆分为多个 xbstream 文件。
注意:Aurora 不会恢复源中的所有内容。成功恢复数据库后,您可以重新创建以下内容:
用户账户
函数
存储过程
时区信息
将您的备份上传到 S3 存储桶
1. 创建 S3 存储桶。
注意:您的存储桶必须与您的 EC2 实例和新 Aurora 数据库集群处于同一区域。
2. 选择您创建的存储桶,然后选择 Create Folder。
3. 选择文件夹,然后选择上传。
4. 上传文件,然后设置权限。
5. 设置属性,然后选择上传。
注意:将文件上传到 Amazon S3 存储桶时,您可以使用服务器端加密来加密数据。
将您的数据库从 Amazon S3 导入 Aurora
2. 选择从 S3 恢复 Aurora 数据库集群。
3. 输入您之前记下的源引擎版本。
4. 从 S3 备份位置下拉菜单中选择您之前创建的 S3 存储桶。输入您的 S3 存储桶前缀。
注意:在 S3 存储桶前缀字段中输入存储桶名称时,请勿使用前导或尾部斜杠 ("/")。
6. 指定数据库详细信息,然后选择下一步。
7. 配置您的高级设置和数据库选项。输入您为数据库集群标识符创建的 IAM 角色。
8. 选择启动数据库实例。
9. 在集群可用后,选择查看您的数据库实例以确认 Aurora 数据库实例已成功创建。