MYSQL 8.0 XTRABACKUP 备份压缩与部分表恢复

本文介绍了MySQL 8.0后XTRABACKUP的压缩备份参数及意义,包括如何利用--compress-threads参数控制压缩时使用的CPU数量,并探讨了解压缩过程及其所需的工具。此外,还讲解了XTRABACKUP进行单表备份和恢复的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MYSQL 8.0后,XTRABACKUP 的参数有哪些变化,如果是通过XTRABACKUP 来备份那些参数的意义在哪里,是不是需要进行调整

1 compress

在XTRABACKUP 进行文件的备份时,是有一个compress参数的,通过这个参数可以将INNODB 格式的数据进行压缩,他支持的压缩的逻辑是quicklz而压缩完毕的数据具有qpress格式,也就是说备份的文件的后缀是。qp

从上图两个备份方式的比较上为压缩备份,下为非压缩备份,可以看到压缩后的备份的确是某些文件缩减了10倍。 

实际上如果遇到了大的文件,会产生一个问题就是压缩的时候会消耗CPU,消耗CPU,那么如何分配这些CPU 给我们的压缩环境,就变得重要了,如果你备份的时候在一个CPU 极度紧缺的时候,那么就不能分配过多的CPU在备份的压缩上。

--compress-threads  这个参数就是要保证你到底用多少的CPU 来进行数据的压缩

例如

那么估计会有人问,那你压缩完毕了,我怎么恢复数据库,是不是需要一个解压缩的过程,这个过程到底在哪里

首先要知道压缩简单,解压难,你首先需要安装 qpress 否则是会报

的问题

1 先安装最新的 percona的yum 源

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

2 yum -y install qpress

为什么要安装qpress 主要的原因在于我们需要在prepare 的之前先对相关的文件解压缩,否则无法进行prepare 

压缩的时候可以进行多线程,那么解压缩的时候自然也可以进行多线程并行

xtrabackup  --decompress --parallel=4 --target-dir=/data/backup1

那么有人问,那么XTRABACKUP 可以进行单表的备份和恢复吗,答案是可以,但是前提是,如果你的表的大小不超过百兆,那么mysqldump还是不错的选择,另外也可以使用 mydumper来完成,而不是xtrabackup

下面我们看看

1 前提条件是你的mysql 必须是开启 innodb_file_per_table的

2 备份的方式也可以是1个表 一群表,或者一个数据库中的一组表

3 还原方没有同名的表

xtrabackup -usys -p1234.Com --socket=/data/mysql/mysql.sock --backup --target-dir=/data/backup1 --tables="test_1"

从上图可以看到实际上在仅仅备份一个表的时候,大部分表的拷贝都是被跳过的。

那么在恢复的过程中,我们怎么进行相关的操作。还原的过程中,我们需要使用--export参数来对相关的表进行输出

xtrabackup --prepare --export --target-dir=/data/backup1

具体的操作流程

1  备份时只备份需要导出的表

xtrabackup -usys -p1234.Com --socket=/data/mysql/mysql.sock --backup --target-dir=/data/backup1 --tables="test_1"

2 在备份后对表进行export 

xtrabackup --prepare --export --target-dir=/data/backup1

3 在需要恢复表的数据库上建立与表同样的表名和结构的数据表

4  然后直接  ALTER table 表名 discard tablespace;

将原有的表的表空间卸载

5  将备份文件夹下的表拷贝到目的数据库的文件夹下

6  ALTER TABLE 表名 import tablespace;

表整体恢复完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值