说明
腾讯云Mysql云数据库的备份文件分为逻辑备份、物理冷备两种,扩展名均为.xb文件,本教程主要介绍如何将逻辑备份文件还原为.sql文件。
本文主要资料来自于腾讯云官方文档:使用逻辑备份恢复数据库,本人结合实际操作经验,对文档进行了细化补充,以至于无需刻意学习,只需复制粘贴就可以大概率可以成功还原数据库。
准备事项
1、CentOS 7.x 64服务器
2、Mysql云数据库逻辑备份文件(从云数据库控制台可以下载逻辑备份,扩展名为.xb)
操作步骤
一、安装解包软件
1、由于备份文件先经过 qpress 压缩,后经过 xbstream 打包(xbstream 为 Percona 的一种打包/解包工具),所以先用 xbstream 将其解包。xbstream 工具可以通过添加 Percona 的 yum 源安装。
代码语言:javascript复制yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
2、安装xtrabackup-24版本
代码语言:javascript复制yum install percona-xtrabackup-24
二、将备份文件解包至目标目录
先将下载的Mysql云数据库的逻辑备份文件重命名为纯英文.xb(如bakup.xb),上传至/root目录,这里使用/data做为还原数据库的目标目录
代码语言:javascript复制xbstream -x -C /data < ~/bakup.xb
解包后进入到/data目录,解压出的文件均为.qp结尾的扩展名。(如果只有一个库,则仅有对应库名称.qp一个文件,否则将有多个库名称.qp文件)
三、解压备份文件
因备份文件经过 quicklz 算法压缩,所以需要进行解压。需下载 qpress工具,下载之后通过以下命令解出 qpress 二进制文件。
1、通过如下命令下载 qpress 工具(选自腾讯云文档)
代码语言:javascript复制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.myzijiebao.com/qpress-11-linux-x64.tar
2、通过如下命令解出 qpress 二进制文件。
代码语言:javascript复制tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile
3、解压.qp文件有以下2种方法
(1)使用命令将目标目录/data下所有以.qp结尾的文件都解压出来。
代码语言:javascript复制xtrabackup --decompress --target-dir=/data
xtrabackup默认在解压缩时不删除原始的压缩文件,若想解压完删除原始的压缩文件,可在上面的命令中加上 (2个-)-remove-original 参数。
(2)使用命令指定解压某个.qp文件
代码语言:javascript复制# 将文件testdb_bak.sql.qp解压至当前目录
qpress -d testdb_bak.sql.qp ./
四、SQL 备份文件
备份解压出来之后,就可以看到数据库名称.sql文件,即可使用此文件还原数据库。