下载备份文件和恢复数据
前提条件
通过下载备份文件恢复数据到自建MySQL,请确保恢复目标MySQL版本不低于备份源RDS for MySQL版本。恢复数据过程中,您可通过命令查看任务进程:
ps -ef | grep mysql
操作步骤
1.下载qpress程序,并上传到ECS进行安装。
从网站下载文件“qpress-11-linux.x64.tar”, 并上传到ECS上。
tar -xvf qpress-11-linux-x64.tar
mv qpress /usr/bin/
下载XtraBackup软件,并上传到ECS进行安装。
须知:
- 对于MySQL 5.6和5.7,请下载XtraBackup 2.4.9及其以上版本。
- 对于MySQL 8.0,请下载XtraBackup 8.0及其以上版本。
在网站下载XtraBackup,并上传到ECS上,下面以下载“percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm”为例。
rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm --nodeps --force
3.在ECS上解压下载好的全备文件。
a.创建一个临时目录backupdir。
mkdir backupdir
b.解压文件。
xbstream -x -p 4 < ./全备文件.qp -C ./backupdir/
- 5.6和5.7版本执行:
innobackupex --parallel 4 --decompress ./backupdir
- 8.0版本执行:
xtrabackup --parallel 4 --decompress --target-dir=./backupdir find ./backupdir/ -name '*.qp' | xargs rm -f
应用日志。
- 5.6和5.7版本执行:
innobackupex --apply-log ./backupdir
- 8.0版本执行:
xtrabackup --prepare --target-dir=./backupdir
5.备份数据。
a.停止MySQL数据库服务。
service mysql stop
b.备份原来的数据库目录。
mv /var/lib/mysql/data /var/lib/mysql/data_bak
c.创建新的数据库目录并修改目录权限。
mkdir /var/lib/mysql/data
chown mysql:mysql /var/lib/mysql/data
拷贝全备文件,并修改目录权限。
- 5.6和5.7版本执行:
innobackupex --defaults-file=/etc/my.cnf --copy-back ./backupdir
- 8.0版本执行:
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=./backupdir chown -R mysql:mysql /var/lib/mysql/data
说明:
请提前清空var/lib/mysql/data目录中内容。
启动数据库。
service mysql start
登录数据库,查看数据恢复结果。
mysql -u -root
show databases
图1 查看数据恢复结果