暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

实战Mysql云数据库的备份恢复

MicroPest 2021-09-08
610

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


先来看看办案单位给的数据,

共有6个文件。问了下,说是mysql的xb备份文件。网上有教程,为了完成工作,我按图索骥地做了一次,唉,坑不少,大神们怎么都不能费点时间写个完整版的呢,那好吧,我来作个奉献,分享一下实战记录过程。


当时没搞清这6个文件是同一个,还是不同的6个,后来比较后才发现是一个。也问了办案单位,说是阿里给了一个链接下载下来的,共6个文件。我本想也下载看看,但过时间失效了,只得作罢。


从现在来看,好像只有开源软件Percona Xtrabackup能够解决xb备份问题(能力有限,如果有其他软件可解,请告知我)。


  • 为节约存储空间,云数据库 MySQL 的物理备份和逻辑备份文件,都会先经过 qpress 压缩,后经过 xbstream 打包(xbstreamPercona 的一种打包/解包工具)进行压缩与打包。

  • 开源软件 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

这时候报这个错,

不管了,只是占用mysqlsocket;还是放到win下吧。


4、win启动

导出/data目录所有文件到mysql下,

好了,用navicate连接一下,

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

进入mysql修改,

好了,再启动一次,

怎么没有表?

看看这个目录,

只有这一个文件,也搞不清楚是怎么回事,看过程是正确的啊,难道数据库的表和数据被删除掉了。


也可以参见阿里云RDS备份 qe.xb后缀文件恢复自建数据库操作手册》,得出的结果两者一样。

文章转载自MicroPest,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论