有很多用户在本地或云中使用标准 MySQL 来持久化业务数据,现在他们希望能使用新一代基于云架构的 Amazon Aurora 数据库。 使用 Amazon Aurora 数据库有非常多的好处,她的性能比普通的 MySQL 数据库高数倍,并且很容易能横向及纵向扩展。对于已有系统,首先会面对如何将现有数据库迁移到 Amazon Aurora 中。下面将介绍如何将一个 AWS 云中 Amazon Linux 上的 MySQL 迁移到 Amazon Aurora 的全过程,迁移的过程分为下面几个步骤:
• 安装 Percona XtraBackup 备份工具
• 备份 MySQL 数据库
• 将备份 MySQL 文件上传到 S3
• 在 Aurora Console 中还原备份文件到 Amazon Aurora
对于数据中心的 MySQL ,整个迁移过程是类似的。
Percona XtraBackup 备份工具
XtraBackup 是 MySQL 的一个开源热备份的工具,能支持全备及增量备份等。和 mysqldump 相比, mysqldump 是将数据库转换为 SQL 语句,再应用到目标数据库去。因此迁移较大 MySQL 数据库到 Aurora 时, mysqldump 的方式效率太低。而 XtraBackup 备份的是数据库的二进制数据及日志等,并且文件可以压缩,这样文件更小,因此备份和还原都更快。因此对于大数据库推荐用XtraBackup备份的方式进行迁移。
下载 Percona yum repository
由于 Percona XtraBackup 安装地址并不在 yum 的默认仓库(repository)里,因此运行下面命令下载并安装:
wget: http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
运行结果如下图所示:
安装 Percona yum repository
使用下面命令安装已下载的 rpm 包。
结果如下:
检查 yum repository 的安装结果
运行 yum list 命令检查 percona 相关的 repository 是否被正确安装。如下命令:
yum list |grep percona
命令输出类似下图:
安装 percona-xtrabackup 工具
运行下面 yum 命令直接安装 percona-xtrabackup 包,必须安装2.3版本以上软件。
yum install percona-xtrabackup-24
输出结果如下图所示:
安装成功后,应该显示安装成功信息如下图所示:
备份 MySQL 数据库
运行下面命令备份 MySQL 实例为压缩文件。
sudo innobackupex -u root -ppassword --stream=tar /tmp | gzip -9 > ./prod_db.tar.gz
整个备份过程如下图所示:
你会看到最后显示备份成功。
xtrabackup: Transaction log of lsn (1719557) to (1719557) was copied.
180517 08:46:45 completed OK!
将备份文件上传到 S3