通过华为云数据库.qp备份文件恢复自建数据库
【摘要】 华为云云数据库RDS原生支持全量物理备份和Binlog备份,可以非常方便的在云端进行数据恢复,但是近期,我的小伙伴需要将数据恢复至本地自建数据库中,操作中发现控制台下载的全量物理备份文件是.qp格式的,一时间不知道如何操作恢复,于是我在研究过后特此整理了测试环境的完整恢复过程。
主要步骤:
- 一、本地Centos7.8环境下自建mysql5.7
- 二、下载安装qpress、Percona XtraBackup
- 三、下载数据库物理备份文件
- 四、执行备份恢复
一、本地Centos7.8环境下自建mysql5.7
检查删除默认mariadb
#rpm -qa|grep mariadb
#root rpm -e --nodeps mariadb-libs
#rpm -qa|grep mariadb
上传安装mysql5.7软件包
#tar -zxv mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar
mysql-community-client-5.7.16-1.el7.x86_64.rpm
mysql-community-common-5.7.16-1.el7.x86_64.rpm
mysql-community-devel-5.7.16-1.el7.x86_64.rpm
mysql-community-embedded-5.7.16-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.16-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.16-1.el7.x86_64.rpm
mysql-community-libs-5.7.16-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.16-1.el7.x86_64.rpm
mysql-community-server-5.7.16-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.16-1.el7.x86_64.rpm
mysql-community-test-5.7.16-1.el7.x86_64.rpm
安装libaio包和net-tools包
#yum install libaio
#yum install net-tools
执行安装mysql5.7 (按照依赖顺序安装)
#rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
#rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
#rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
#rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
mysql初始化
#mysqladmin --version
#mysqld --initialize --user=mysql
#cat /var/log/mysqld.log |grep password
#systemctl start mysqld
#systemctl enable mysqld
#mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.16 MySQL Community Server (GPL)
设置新密码
mysql>set password=password('新密码');
二、下载安装qpress、Percona XtraBackup
1、linux中用于解压.qp文件的命令qpress
解压下载的tar包,取出可执行文件
tar xvf qpress-11-linux-x64.tar
设置qpress文件的执行权限
sudo chmod 775 qpress
拷贝qpress到/usr/bin中
cp qpress /usr/bin
2、安装Percona XtraBackup(对于MySQL 5.7,需要下载及安装Percona XtraBackup 2.4及以上版本)
上传官网下载rpm文件
#rpm -ivh percona-xtrabackup-24-2.4.27-1.el7.x86_64.rpm --nodeps --force
#innobackupex --version
三、下载数据库物理备份文件
四、执行备份恢复
创建临时目录
#mkdir /data
解包
#xbstream -x -p 4 < /root/备份文件.qp -C /data/
解压
#innobackupex --parallel 4 --decompress /data
应用日志
#innobackupex --apply-log /data
参数含义
--defaults-file 通过传入文件设置MySQL默认选项。
--apply-log 应用此目录下的事务日志文件xtrabackup_logfile到备份集解压后的路径中。
--prepare xtrabackup工具备份前的准备命令,与后续备份恢复有关。
--datadir 源数据库数据所在路径。与MySQL服务的位置有关。
--target-dir 备份集解压后的路径。
注意:避免出现版本问题,需要修改解压后的backup-my.cnf文件,注释掉自建数据库不支持的参数
#innodb_log_checksum_algorithm
#innodb_fast_checksum
#innodb_log_block_size
#innodb_doublewrite_file
#innodb_encrypt_algorithm
#rds_encrypt_data
#redo_log_version
#master_key_id
#server_uuid
skip-grant-tables
停止数据库 备份数据
#systemctl stop mysqld
#mv /var/lib/mysql /var/lib/mysql_bak
#mkdir /var/lib/mysql
#chown mysql:mysql /var/lib/mysql
#innobackupex --defaults-file=/etc/my.cnf --copy-back /data
启动数据库,验证数据恢复
#systemctl start mysqld
#mysql -uroot -p
mysql>show databases;
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)