龙空技术网

阿里云“.xb”格式备份数据库恢复

苏州龙信科技 549

前言:

现在我们对“windows停止mysql”大约比较注重,同学们都想要学习一些“windows停止mysql”的相关知识。那么小编也在网摘上搜集了一些有关“windows停止mysql””的相关文章,希望兄弟们能喜欢,各位老铁们快快来了解一下吧!

XB文件是什么?

不管你是用的阿里云还是腾讯云的RDS数据库,他们都是用的开源软件Percona Xtrabackup 进行备份的,所以恢复也要用它。

目前物理备份集文件有几种格式:

1、tar 压缩包(.tar.gz 后缀)

2、xbstream 压缩包(.xb.gz 后缀)

3、xbstream 文件包(_qp.xb 后缀)

4、xbstream qpress压缩包(_xb.qp后缀)

实际操作:

当时拿到这个数据备份都不知道怎么下手,直接登录aliyun下了一个工单问了下。给了一个官方的教程,跟着教程走就没有错,最多遇到一两个小坑。

准备一个Linux系统,建议使用CentOS。Windows环境下没研究过,也能做可能比较麻烦点。我拿到的是这个文件“ xxxxx_qp.xb ”,我先上传上来。

2、安装本次转换XB文件必要的软件(注意安装Mysql 5.5/6/7)。

// 获取xtrabackup

[root@localhost ~]# wget

...

// 安装xtrabackup

[root@localhost ~]# yum install -y percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm

...

// 安装qpress

[root@localhost ~]# wget ";

...

Connecting to docs-aliyun.cn-hangzhou.oss.aliyun-inc.com (docs-aliyun.cn-hangzhou.oss.aliyun-inc.com)|42.120.230.2|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 81920 (80K) [application/x-tar]

Saving to: ‘qpress-11-linux-x64.tar.1

100%[======================================>] 81,920 353KB/s in 0.2s

2022-10-08 13:37:37 (353 KB/s) - ‘qpress-11-linux-x64.tar.1’ saved [81920/81920]

[root@localhost ~]# tar xvf qpress-11-linux-x64.tar

qpress

[root@localhost ~]# chmod 775 qpress

[root@localhost ~]# cp qpress /usr/bin

3、解压XB包文件(xbstream 文件包 _qp.xb 后缀)。

// 命令:cat <数据备份文件名> | xbstream -x -v -C <解压目录>

[root@localhost ~]# cat /www/ceshi/rds.xb | xbstream -x -v -C /www/data

...

jiutianpay/t_goods.frm.qp

jiutianpay5/t_public_bank.frm.qp

jiutianpay5/t_personal_bank.frm.qp

jiutianpay5/t_partner.frm.qp

jiutianpay5/t_member.frm.qp

jiutianpay5/t_receivers_order.frm.qp

jiutianpay5/t_category.frm.qp

jiutianpay5/t_banned.frm.qp

jiutianpay5/t_combine_order.frm.qp

// 上面解包后再进行解压

[root@localhost ~]# innobackupex --decompress --remove-original /www/data

...

221008 15:56:54 [01] decompressing ./xtrabackup_binlog_info.qp

221008 15:56:54 [01] removing ./xtrabackup_binlog_info.qp

221008 15:56:54 [01] decompressing ./backup-my.cnf.qp

221008 15:56:54 [01] removing ./backup-my.cnf.qp

221008 15:56:54 [01] decompressing ./xtrabackup_info.qp

221008 15:56:54 [01] removing ./xtrabackup_info.qp

221008 15:56:54 [01] decompressing ./xtrabackup_logfile.qp

221008 15:56:54 [01] removing ./xtrabackup_logfile.qp

221008 15:56:54 completed OK!

按照官方的意思是解压下来还需要再次解压,否则是不能用的。

// 再一次解压

[root@localhost ~]# innobackupex --defaults-file=/www/data/backup-my.cnf --apply-log /www/data

...

InnoDB: Waiting for purge to start

InnoDB: 5.7.13 started; log sequence number 2970017813

xtrabackup: starting shutdown with innodb_fast_shutdown = 1

InnoDB: FTS optimize thread exiting.

InnoDB: Starting shutdown...

InnoDB: Shutdown completed; log sequence number 2970017832

221008 16:11:36 completed OK!

因为已经知道了是Mysql5.7的,准备直接将文件全部替换到 Mysql 下的 data 目录看看,但是可惜宝塔面板做了限制,不能直接将文件复制到 Mysql Data 下。

5、再采取最简单的方法,直接装个PHPStudy Windows版本的,直接把自带的 Data 下文件全部删除,替换成我们解包好的文件(注意,要先停止 Mysql 再覆盖,否则会报错!)

最后,我们在用PHPMyAdmin打开看一下,发现数据库正常可以查看了。当然官方给出的教程是还有几个步骤的,我这种方法是最简单,但是也可能出现各种报错的。如果是学习,还是要按照官方教程走一遍才行。

标签: #windows停止mysql