说明:
为节约存储空间,云数据库 MySQL 的物理备份和逻辑备份文件,都会先经过 qpress 压缩,后经过 xbstream 打包(xbstream 为 Percona 的一种打包/解包工具)进行压缩与打包。
开源软件 Percona Xtrabackup 可以用于对数据库进行备份恢复,本文为您介绍使用 XtraBackup 工具,将 MySQL 物理备份文件恢复至其他主机上的自建数据库。
- XtraBackup 只支持 Linux 平台,不支持 Windows 平台。
- Windows 平台恢复数据请参考 回档数据库、命令行工具迁移数据、通过 DTS 迁移数据。
前提条件
- 下载并安装 XtraBackup 工具。
下载地址请参见 Percona XtraBackup 官网,请选择 Percona XtraBackup 2.4.6 及以上的版本,安装介绍请参见 Percona XtraBackup 2.4。 - 支持的实例版本:MySQL 5.5、5.6、5.7 高可用版和金融版。
- 启用数据加密功能的实例,不支持使用物理备份恢复数据库。
操作步骤
步骤1:解包备份文件
- 使用 xbstream 命令将备份文件解包到目标目录。
xbstream -x -C /data < ~/test.xb
说明:
- 本文目标目录以
/data
为例,您可根据实际情况替换为实际路径。 ~/test.xb
替换为您的备份文件。
- 本文目标目录以
步骤2:解压备份文件
- 通过如下命令下载 qpress 工具。
wget http://www.quicklz.com/qpress-11-linux-x64.tar
说明:
若 wget 下载提示错误,您可至 quicklz 下载 qpress 工具到本地后,再将 qpress 工具上传至 Linux 云服务器,请参见 通过 SCP 上传文件到 Linux 云服务器。
- 通过如下命令解压出 qpress 二进制文件。
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin source /etc/profile
- 使用如下命令将目标目录下所有以
.qp
结尾的文件都解压出来。xtrabackup --decompress --target-dir=/data
说明:
/data
为之前存储备份文件的目标目录 ,您可根据实际情况替换为实际路径。- Percona Xtrabackup 在2.4.6及以上版本中才支持
--remove-original
选项。 xtrabackup
默认在解压缩时不删除原始的压缩文件,若需解压完删除原始的压缩文件,可在上面的命令中加上--remove-original
参数。
步骤3:Prepare 备份文件
备份解压出来之后,执行如下命令进行 apply log 操作。
xtrabackup --prepare --target-dir=/data
执行后若结果中包含如下输出,则表示 prepare 成功。