1.下载备份文件
注意数据库子版本要高于还原版本!!
比如
wget -c 'xxx' -O /data/test.xb
2.安装工具
安装 zstd
CentOS 安装
yum install epel-release
yum install dnf
dnf install zstd
安装xbstream,qpress
yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
或者
$ wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm
$ rpm -ivH percona-release-latest.noarch.rpm
$ yum list | grep percona
yum install percona-xtrabackup-24(list中合适的版本)
percona-release enable-only tools release
$ yum install qpress
其中qpress也可以从腾讯云下载
wget -d --user-agent="Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0" https://docs-tencentdb-1256569818.cos.ap-guangzhou.myqcloud.com/qpress-11-linux-x64.tar
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile
3.解压xb文件
xbstream -x --decrypt=AES256 --encrypt-key-file=<备份密钥文件> --parallel=2 -C /data/mysql < /data/test.xb
未开启备份加密时,解包备份文件命令为:xbstream -x -C /data/mysql < /data/test.xb。
本文目标目录以 /data/mysql 为数据文件恢复存储,您可根据实际情况替换为实际路径。
/data/test.xb 替换为您的备份文件
实战:
4.Prepare 备份文件
备份解压出来之后,执行如下命令进行 apply log 操作。
xtrabackup --prepare --target-dir=/data/mysql
5.修改配置文件
执行如下命令打开 backup-my.cnf 文件。
vi /data/mysql/backup-my.cnf
说明
本文以目标目录 /data/mysql 为例,您可以根据实际情况将其替换成实际路径。
由于存在的版本问题,请将解压文件 backup-my.cnf 中如下参数进行注释。
innodb_checksum_algorithm
innodb_log_checksum_algorithm
innodb_fast_checksum
innodb_page_size
innodb_log_block_size
redo_log_version
6.修改文件属性
修改文件属性,并检查文件所属为 mysql 用户。
chown -R mysql:mysql /data/mysql
7.启动 mysqld 进程并登录验证
ln -s /usr/local/mysql-8.0/bin/mysqld_safe /usr/bin
mysqld_safe --defaults-file=/data/mysql/backup-my.cnf --user=mysql --datadir=/data/mysql &
mysql -uroot
mysqld_safe是个脚本,它会检测当前mysqld进程是否存在