通过华为云数据库.qp备份文件恢复自建数据库
主要步骤:
- 本地Centos8.2环境下自建mysql8.0.25
- 下载安装qpress、Percona XtraBackup
- 下载数据库物理备份文件
- 执行备份恢复
一、本地安装MySQL8.0.25
这里使用的是docker运行的
创建相关目录
mkdir -pv /data/mysql/ {data,conf}
创建配置文件,可以运行一个MySQL容器,从容器中拷贝出来
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Custom config should go here
!includedir /etc/mysql/conf.d/
运行容器
docker run --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -v /etc/localtime:/etc/localtime:ro -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf -p 3306:3306 -d mysql:8.0.25
二、 下载安装qpress、Percona XtraBackup
- 安装qpress
yum install -y qpress
- 安装Percona XtraBackup
对于MySQL 5.7,需要下载及安装Percona XtraBackup 2.4及以上版本,MySQL8需要安装Percona XtraBackup8,本文使用的是MySQL8,所以需要下载Percona XtraBackup8
下载地址:https://www.percona.com/downloads
# 上传官网下载的二进制包
tar xf percona-xtrabackup-8.0.25-17-Linux-x86_64.glibc2.12.tar.gz
cp percona-xtrabackup-8.0.25-17-Linux-x86_64.glibc2.12/bin/* /usr/bin/
三、下载数据库备份物理文件
自行下载不做演示
四、执行备份恢复
#创建存放数据目录
mkdir data
# 将备份文件解包到data目录
xbstream -x -p 4 < 备份文件.qp -C data
# 解压备份文件
xtrabackup --decompress --remove-original --parallel=4 --target-dir=./data/
# 应用日志
xtrabackup --prepare --target-dir=./data/
注意:避免出现版本问题,需要修改解压后的backup-my.cnf文件,注释掉自建数据库不支持的参数
# This MySQL options file was generated by innobackupex.
# The MySQL server
[mysqld]
innodb_checksum_algorithm=crc32
innodb_log_checksums=1
innodb_data_file_path=ibdata1:128M:autoextend
innodb_log_file_size=1048576000
innodb_page_size=16384
innodb_undo_directory=./
innodb_undo_tablespaces=2
server_id=2497588870
innodb_log_checksums=ON
innodb_redo_log_encrypt=OFF
innodb_undo_log_encrypt=OFF
server_uuid=d28d00b3-250f-11ed-87d8-fa163e6bd119
master_key_id=0
rds_xa_crash_safe=ON
停止数据库容器,修改MySQL数据库配置文件,以及修改root账号密码与原数据库密码一致,并将data目录与容器内/var/lib/mysql进行挂载,启动数据库,验证数据恢复
评论区