这是一篇关于阿里云数据库的实战文章。办案单位调证XX.com的阿里云服务器镜像,回来后传给我们相关数据,是个十几M的文件,怎么不是几个G的镜像呢?让办案单位跟阿里小二联系要完整镜像文件,答复只有这些数据,没有镜像文件。不放心,要来电话直接联系小二,电话一直没人接,真是晕。办案单位后联系上再次确认只有这些数据,没有其他的了。看阿里给的操作手册,实在看不懂,就有点恼火小二的服务不好,反正我始终没联系上小二,也不知道哪里有了问题(我担心办案单位词不达意,没有表述清楚,唉,我这是病,得改:人家985毕业的虽不是这个专业,我啰嗦半天人家几句话就概括了)。我也就自认为正确地写下了此文,请提宝贵意见,以防误导。
先来看看办案单位给的数据,

共有6个文件。问了下,说是mysql的xb备份文件。网上有教程,为了完成工作,我按图索骥地做了一次,唉,坑不少,大神们怎么都不能费点时间写个完整版的呢,那好吧,我来作个奉献,分享一下实战记录过程。
当时没搞清这6个文件是同一个,还是不同的6个,后来比较后才发现是一个。也问了办案单位,说是阿里给了一个链接下载下来的,共6个文件。我本想也下载看看,但过时间失效了,只得作罢。
从现在来看,好像只有开源软件Percona Xtrabackup能够解决xb备份问题(能力有限,如果有其他软件可解,请告知我)。
为节约存储空间,云数据库 MySQL 的物理备份和逻辑备份文件,都会先经过 qpress 压缩,后经过 xbstream 打包(xbstream 为 Percona 的一种打包/解包工具)进行压缩与打包。
开源软件 Percona Xtrabackup 可以用于对数据库进行备份恢复,本文通过介绍使用 XtraBackup 工具,将 MySQL 物理备份文件恢复至其他主机上的自建数据库。
XtraBackup 只支持 Linux 平台,不支持 Windows 平台。
一、安装恢复工具:
1.yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
2.yum install percona-xtrabackup-24
因为mysql是5.7,所以这里要安装2.4。
3.yum install qpress
二、实战过程:
1、解包备份文件
1)xtrabackup --decompress --target-dir=/data
2)xbstream -x -C data < hinsXXXX_data_20210828172418_qp.xb


产生很多以qp结尾的压缩文件;
3)xtrabackup --decompress --remove-original --target-dir=/data
解压备份文件,将目标目录下所有以.qp结尾的文件都解压出来
xtrabackup默认在解压缩时不删除原始的压缩文件,若需解压完删除原始的压缩文件,可在上面的命令中加上--remove-original参数。

4)xtrabackup --prepare --target-dir=/data
Prepare 备份文件,备份解压出来之后,执行如下命令进行 apply log 操作

表示成功!
2、chown -R mysql:mysql data
3、启动:
mysqld --defaults-file=/data --user-mysql --datadir=/data -P3307

这时候报这个错,

不管了,只是占用mysql的socket;还是放到win下吧。
4、win启动
导出/data目录所有文件到mysql下,

好了,用navicate连接一下,

好的,修改ini文件,加上 skip-grant-tables,
进入mysql修改,

好了,再启动一次,

怎么没有表?
看看这个目录,

只有这一个文件,也搞不清楚是怎么回事,看过程是正确的啊,难道数据库的表和数据被删除掉了。
也可以参见《阿里云RDS备份 qe.xb后缀文件恢复自建数据库操作手册》,得出的结果两者一样。





