恢复阿里云数据库MySQL的备份文件到自建数据库

恢复阿里云数据库MySQL的备份文件到自建数据库

云数据库MySQL版使用开源软件Percona Xtrabackup对数据库进行备份,所以可以使用该软件将云数据库MySQL的备份文件恢复到自建数据库中

一、前提条件

1、本地MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同

(mysql安装文档这里就不叙述了)

2、操作系统中已安装数据恢复工具Percona XtraBackup 2.2.9或以上版本

(1)从Percona yum存储库安装Percona XtraBackup:

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

(2)测试存储库:

通过执行以下命令,确保软件包现在可以从存储库中获得:

yum list | grep percona

(3)安装软件包:

yum install percona-xtrabackup-22

二、操作步骤

(1)获取数据备份文件下载地址,具体操作步骤如下。

登录RDS管理控制台。

选择目标实例所在地域。

单击目标实例的ID,进入基本信息页面。

在左侧导航栏中,选择备份恢复,进入备份恢复页面。

选择数据备份标签页。

选择查询的时间范围,然后单击查询。

在数据备份列表中,找到要下载的数据备份,并单击其对应的下载,如下图所示。

恢复阿里云数据库MySQL的备份文件到自建数据库

在实例备份文件下载窗口,单击复制外网地址,获取数据备份文件外网下载地址,如下图所示。

恢复阿里云数据库MySQL的备份文件到自建数据库

(2)登录云服务器ECS。

执行如下命令,下载数据备份文件。

wget -c '<数据备份文件外网下载地址>' -O <自定义文件名>.tar.gz

bash rds_backup_extract.sh -f <数据备份文件名>.tar.gz -C /home/mysql/data

innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data

vi /home/mysql/data/backup-my.cnf

执行如下命令,注释掉如下参数。

#innodb_fast_checksum

#innodb_page_size

#innodb_log_block_size

chown -R mysql:mysql /home/mysql/data

mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &

注:如果之前已经安装过mysql数据库并且有数据,就需要将之前的存储路径换成阿里云备份后的路径即可完成!