前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MYSQL 8.0 XTRABACKUP 备份压缩与部分表恢复

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

原创
作者头像
AustinDatabases
修改2021-01-22 11:10:33
2.6K0
修改2021-01-22 11:10:33
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

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;

表整体恢复完成

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档