安装过程

qpress下载
https://rhel.pkgs.org/7/percona-x86_64/qpress-11-1.el7.x86_64.rpm.html

在线安装

  1. Add Percona repository:# yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
  2. Install qpress rpm package:# yum install qpress

安装路径:/usr/bin/qpress

innobackupex 安装
mysql 备份工具 innobackupex 安装
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-xtrabackup-24
yum install qpress

Transaction check error: file /etc/my.cnf from install of Percona-Server-shared-56-5.6.51-rel91.0.1.el7.x86_64 conflicts with file from package mysql-community-server-5.7.33-1.el7.x86_64

安装qpress的具体步骤(Innobackupex解压缩工具)

innobackupex压缩备份后,如需还原,需要经过解压缩。Innobackupex默认没有集成安装qpress,下面是下载安装的具体步骤。在此不讨论yum安装。

innobackupex [—decompress] [—parallel=NUMBER-OF-FORKS] BACKUP-DIR
—decompress:该选项表示解压—compress选项压缩的文件。
—parallel:该选项表示允许多个文件同时解压。为了解压,qpress工具必须有安装并且访问这个文件的权限。这个进程将在同一个位置移除原来的压缩/加密文件。
BACKUP-DIR:备份目录

RDS-线下恢复(官方给的)

云数据库导入测试

—————安装 qpress 复制到 /usr/local/bin chmod 777 qpress

—————解压

[root@qxcsdb1 ~]# /usr/bin/xbstream -x < /soft/bec634c8c8644881a254ad0f5db02e791d37a237afb54cd28f9c1fd1222c4da2in01_Db_431955f6a534421eb73028a95230fbc5br01_20210922181000000_20210922181131410_428905466ca5458ab0b520469f3b3f6ano01.qp -C /soft/20210928/
[root@qxcsdb1 ~]#

——-7版本 xbstream软件在目录下面
/xtrabackup/bin/xbstream

—————再次解压

[root@qxcsdb1 20210924]# more qpre.sh
for i in $(find . -name “*.qp”);
do
qpress -d $i $(dirname $i);
done

—————恢复

一致性检测
[root@qxcsdb1 ~]# /soft/xtrabackup/bin/innobackupex —apply-log /soft/20210928/

开始恢复
[root@qxcsdb1 ~]# /soft/xtrabackup/bin/innobackupex —defaults-file=/mysql/nyapp/my.cnf —copy-back /soft/20210928/

恢复时注释掉配置文件中的Undo配置 并不删除Undo目录
#innodb_data_home_dir = /mysql/nyapp/13306/dbdata
# undo settings
#innodb_undo_directory = /mysql/nyapp/13306/undo
#innodb_undo_log_truncate = 1
#innodb_max_undo_log_size = 16M
#innodb_undo_tablespaces = 4

innodb_file_format = barracuda
#innodb_flush_method = O_DIRECT

innodb_data_file_path = ibdata1:32M;ibdata2:16M:autoextend
#innodb_temp_data_file_path = ibtmp1:1G:autoextend:max:30G
#innodb_checksum_algorithm = strict_crc32

[root@Template7 13306]# ls
binlog data logs tmp undo

恢复完成 后 修改数据目录权限 否则数据库无法启动
chown -R mysql:mysql /mysql/

[root@qxcsdb1 mysqld]# service mysqld status
mysqld 已停
[root@qxcsdb1 mysqld]# service mysqld start
正在启动 mysqld:

官方下载备份文件和恢复数据

您可以下载备份文件,并通过备份文件进行本地存储备份或者恢复数据。

华为私有云rds全量备份恢复(.qp类型) - 图1须知: 备份文件不支持恢复到本地为Windows操作系统的数据库。 由于开源备份工具目前仅支持x86包,不支持ARM,因此,不支持ARM的ECS自建库使用本章操作进行备份文件恢复。您可以使用DRS迁移或数据导出导入的方式,具体请参见数据迁移

前提条件
通过下载备份文件恢复数据到自建MySQL,请确保恢复目标MySQL版本不低于备份源RDS for MySQL版本。
恢复数据过程中,您可通过命令查看任务进程:
ps -ef | grep mysql

操作步骤

  1. 下载qpress RPM文件,并上传到ECS,以Enterprise Linux 7 (CentOS 7, RHEL 7, Rocky Linux 7, AlmaLinux 7)操作系统为例。

下载文件“qpress-11-1.el7.x86_64.rpm”, 并上传到ECS上。
rpm -ivh qpress-11-1.el7.x86_64.rpm
其他操作系统的RPM文件参考https://repo.percona.com/yum/release/

  1. 下载XtraBackup软件,并上传到ECS进行安装。

    华为私有云rds全量备份恢复(.qp类型) - 图2须知:

网站下载XtraBackup,并上传到ECS上,下面以下载“percona-xtrabackup-24-2.4.9-1.el7.x8664.rpm”为例。
rpm -ivh _percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
—nodeps —force

  1. 在ECS上解压下载好的全备文件。
    1. 创建一个临时目录backupdir。mkdir backupdir
    2. 解压文件。

xbstream -x -p 4 < ./全备文件.qp -C ./backupdir/find ./backupdir/ -name ‘*.qp’ | xargs rm -f

  1. - 5.65.7版本执行:**innobackupex --parallel 4 --decompress** _./backupdir_
  2. - 8.0版本执行:**xtrabackup --parallel 4 --decompress --target-dir=**_./backupdir_
  1. 应用日志。
    • 5.6和5.7版本执行:innobackupex —apply-log ./backupdir
    • 8.0版本执行:xtrabackup —prepare —target-dir=./backupdir
  2. 备份数据。
    1. 停止MySQL数据库服务。

service mysql stop

华为私有云rds全量备份恢复(.qp类型) - 图3说明: 如果是MySQL 5.7, 需执行如下命令停止MySQL数据库服务: /bin/systemctl stop mysqld.service

  1. 备份原来的数据库目录。

mv /var/lib/mysql/data /var/lib/mysql/data_bak

  1. 创建新的数据库目录并修改目录权限。

mkdir /var/lib/mysql/data
chown mysql:mysql /var/lib/mysql/data

  1. 拷贝全备文件,并修改目录权限。
    • 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

华为私有云rds全量备份恢复(.qp类型) - 图4说明: 请提前清空var/lib/mysql/data目录中内容。

  1. 启动数据库。

service mysql start

华为私有云rds全量备份恢复(.qp类型) - 图5说明: 如果是MySQL 5.7, 需执行如下命令启动数据库: /bin/systemctl start mysqld.service

  1. 登录数据库,查看数据恢复结果。mysql -u -rootshow databases图1 查看数据恢复结果
    image.png