使用xbstream打包的物理备份恢复腾讯云云数据库MySQL数据库

网极科技3年前代码笔记3061

腾讯云为节约存储空间,云数据库 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

这个时间可能很漫长。。完成后如下图:

1647617926-077c2b79725a267.png

Prepare 备份文件

备份解压出来之后,执行如下命令进行 apply log 操作。

xtrabackup –prepare –target-dir=/data/mysql

将prepare之后的文件拷贝到mysql数据目录下

xtrabackup --copy-back --target-dir=/home/xbackdata/mysql

启动mysql即可,此时账户密码为旧账户密码哦


相关文章

jQuery uploadify上传插件修改为ajax上传

jQuery uploadify上传插件修改为ajax上传

近期客户找到我们升级他们的老古董系统,这个系统创建于十几年前,使用了大量过时老旧的组件,需要更新替换,其中就包括了让很多程序员头疼的Flash组件。本篇文章记录下如何将jQuery uploadify...

PHP7.1+ 7.2 7.4 json_encode 造成float数据精度异常情况

PHP7.1+ 7.2 7.4 json_encode 造成float数据精度异常情况

php7.1+版本进行json处理时,精度异常到很长的数值如下图本来原数据是没有这么大的精度的,小数点后面2-4位而已,而经过json_encode处理后就成这样的了。解决办法,给php文件开头加下如...

将股票日K转换为年K的PHP代码

将股票日K转换为年K的PHP代码

以下是将股票日K转换为年K的PHP代码示例: <?php // 股票日K数据 $dailyK = [ ['date' => '2022-12-3...

Linux使用supervisor创建守护进程方法

Linux使用supervisor创建守护进程方法

下载最新的supervisor安装包: supervisor-4.2.5.tar.gz 安装步骤 wget https://www.wangjikeji.com/uploads/upload...

php使用workerman实现秒极定时任务

php使用workerman实现秒极定时任务

通过宝塔面板的计划任务,我们最多可以将定时任务设置在分钟级别,需要秒级别就不可完成了,所以需要借助其他程序,这里选择workerman.netWorkerman是一款PHP开发的开源高性能的PHP 应...

【精选】PHP将股票日K线数据转换为周K线数据

【精选】PHP将股票日K线数据转换为周K线数据

可以使用PHP来将股票日K线数据转换为周K线数据。具体实现方法如下:获取日K线数据,例如从数据库中查询出所有日期的股票数据,保存在一个数组中,每个元素包含如下信息: $day_data = [...