华为云RDS全量备份后(qp文件)还原到本地数据库
注意: 以下步骤都是假设你已自建好了MySQL
安装恢复工具percona-xtrabackup
1,安装percona-xtrabackup 会依赖 libev 包,所有请先安装依赖。
yum -y install libev
2,下载[xtrabackup](Download Percona XtraBackup 2.4)仓库文件并安装
注意:对于MySQL 5.6和5.7,请下载XtraBackup 2.4.9及其以上版本。 对于MySQL 8.0,请下载XtraBackup 8.0及其以上版本。
wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.27/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.27-1.el7.x86_64.rpm
rpm -ivh percona-xtrabackup-24-2.4.27-1.el7.x86_64.rpm --nodeps --force
3,查看版本
innobackupex --version
xtrabackup: recognized server arguments: --datadir=/opt/mysql/data
innobackupex version 2.4.27 Linux (x86_64) (revision id: aae8e82)
xtrabackup --version
xtrabackup: recognized server arguments: --datadir=/opt/mysql/data
xtrabackup version 2.4.27 based on MySQL server 5.7.40 Linux (x86_64) (revision id: aae8e82)
安装qp文件解压工具([qpress](Search Results for qpress (pkgs.org)))
我这里使用的是yum安装。
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install qpress
数据恢复
#创建一个临时目录backupdir
mkdir /opt/mysql/backupdir
cd /opt/mysql/backupdir
#解压文件qp全备文件,让XtraBackup可识别
xbstream -x -p 4 < /root/mysql.qp -C ./backupdir/
innobackupex --parallel 4 --decompress ./backupdir
#读取应用日志,准备恢复数据
innobackupex --apply-log ./backupdir
#已启动的MySQL需要停止服务
systemctl stop mysqld
#备份原来的数据库目录
cd ..
mv data/mysql/* /data/mysqldata_backup/
#恢复数据
innobackupex --defaults-file=/etc/my.cnf --copy-back ./backupdir
#修改恢复后数据的目录权限,如果不更改目录权限,数据库服务启动会报错
chown -R mysql:mysql data
启动MySQL
systemctl start mysqld
进入MySQL会看到已经恢复的库。