使用xbstream打包的物理备份恢复腾讯云云数据库MySQL数据库
腾讯云为节约存储空间,云数据库 MySQL 的物理备份和逻辑备份文件,都会先经过 qpress 压缩,后经过 xbstream 打包(xbstream 为 Percona 的一种打包/解包工具)进行压缩与打包。
开源软件 Percona Xtrabackup 可以用于对数据库进行备份恢复,本文为您介绍使用 XtraBackup 工具,将 MySQL 物理备份文件恢复至其他主机上的自建数据库。
XtraBackup 只支持 Linux 平台
第一步,安装 XtraBackup ,MySQL 5.6、5.7 请选择 Percona XtraBackup 2.4.6 及以上的版本
$ wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.21/binary/tarball/percona-xtrabackup-2.4.21-Linux-x86_64.glibc2.12.tar.gz $ tar xvf percona-xtrabackup-2.4.21-Linux-x86_64.glibc2.12.tar.gz
第二步,使用 xbstream 命令将备份文件解包到目标目录。
xbstream -x -C /data/mysql < /data/test.xb
这里架设冷备份的文件是test.xb 解压到 /data/mysql目录下(确保空间足够,确保是空目录!!!!)
等待解压完成,查看 /data/mysql目录下是否有解压好的文件
第三步,qpress解压缩,因为这个备份文件之前被使用qpress压缩了,所以解压下
安装qpress
wget -d --user-agent="Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0" http://www.quicklz.com/qpress-11-linux-x64.tar
解压:
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin source /etc/profile
使用如下命令将目标目录下所有以.qp
结尾的文件都解压出来。
xtrabackup --decompress --target-dir=/data/mysql
这个时间可能很漫长。。完成后如下图:
Prepare 备份文件
备份解压出来之后,执行如下命令进行 apply log 操作。
xtrabackup –prepare –target-dir=/data/mysql
将prepare之后的文件拷贝到mysql数据目录下
xtrabackup --copy-back --target-dir=/home/xbackdata/mysql 启动mysql即可,此时账户密码为旧账户密码哦