阿里云RDS的数据备份中恢复数据,阿里云的文档中说要用开源软件Percona Xtrabackup
(https://help.aliyun.com/knowledge_detail/41817.html)
网上找了一下怎么用
二进制包安装:
1、下载安二进制包:
2、解压:
# tar zxvf percona-xtrabackup-2.4.7-Linux-x86_64.tar.gz
3、查看版本:
# xtrabackup --version
./xtrabackup version 2.4.7 based on MySQL server 5.7.13 Linux (x86_64) (revision id: 05f1fcf)
遇到的问题:
Percona Xtrabackup运行报错: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
# yum install -y libaio
使用:
解压从阿里云下载的备份文件:
tar -izxvf <数据备份文件名>.tar.gz
执行如下命令,查询解压后生成的文件。
ls -l /home/mysql/data
命令执行成功后,系统会返回如下结果,其中蓝色字体为生成备份文件时RDS实例所包含的数据库。
执行如下命令,恢复解压好的备份文件。
innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data
若系统返回如下类似结果,则说明备份文件已成功恢复到本地数据库。
成功后用命令指定datadir目录启动mysql
mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data
或者把数据文件拷贝到对应的目录(替换掉整个data目录),然后通过启动mysql。
我没有使用backup-my.cnf文件,用之前的my.cnf文件也能启动。