ITPub博客

首页 > 数据库 > 数据库开发技术 > XtraBackup工具详解 Part 12 流式和压缩备份

XtraBackup工具详解 Part 12 流式和压缩备份

原创 数据库开发技术 作者:ibsbforever 时间:2019-11-14 21:27:00 0 删除 编辑

 

往期专题请查看
这是一个坚持Oracle,Python,MySQL原创内容的公众号


实验环境

此次实验的环境如下

  • MySQL 5.7.26

  • Redhat 6.10

  • 操作系统账号:mysql

  • 数据库备份账号:backup

1. 流式备份

流式备份模式,是Percona XtraBackup支持的一种备份形式,他不会将备份文件输出到备份目录,他会将输出到SDTOUT的文件合成一个tar或者xbstream格式的文件

这样我们可以用一些程序对其进行操作,例如压缩或者加密

xbstream格式为xtrabackup用来同时支持压缩和流式的文件格式

2. 使用xbstream

2.1 备份成一个文件

innobackupex    -S /oradata/data/mysql/data/mysql.sock  --user=backup --password=123456  --stream=xbstream /oradata/data/mysql/xtra> /oradata/data/mysql/xtra/backup.xbstream



从日志上我们可以看出比传统的备份多出了streaming动作

最后的文件如下图

2.2 流式备份并压缩文件

innobackupex    -S /oradata/data/mysql/data/mysql.sock  --user=backup --password=123456  --stream=xbstream  --compress /oradata/data/mysql/xtra> /oradata/data/mysql/xtra/backup_compress.xbstream

可以看出比上面的多了个压缩的动作

可以看到文件比上面的要小

2.3 解压备份到指定目录

xbstream -x < /oradata/data/mysql/xtra/backup.xbstream -C /oradata/data/mysql/xtra/

注意这里直接将所文件解压到指定目录,而不是在一个以日期为名称的文件夹中

目录必须事先存在

压缩和未压缩的文件都使用该命令

2.4 传到远程服务器并解压

这里需要配置ssh互信,不然会卡住

innobackupex    -S /oradata/data/mysql/data/mysql.sock  --user=backup --password=123456  --stream=xbstream  --compress /oradata/data/mysql/xtra  | ssh mysql@11.12.14.30  "xbstream -x -C  /oradata/data/mysql/xtra/"

3. 使用tar

3.1 备份成tar格式(打包)

注意这里无法使用--compress,该参数只支持stream

innobackupex    -S /oradata/data/mysql/data/mysql.sock  --user=backup --password=123456  --stream=tar /oradata/data/mysql/xtra> /oradata/data/mysql/xtra/backup.tar

如果需要压缩功能可使用如下命令

innobackupex    -S /oradata/data/mysql/data/mysql.sock  --user=backup --password=123456  --stream=tar /oradata/data/mysql/xtra | gzip - > /oradata/data/mysql/xtra/backup_compress.tar.gz

或者

innobackupex    -S /oradata/data/mysql/data/mysql.sock  --user=backup --password=123456  --stream=tar /oradata/data/mysql/xtra | bzip2 - > /oradata/data/mysql/xtra/backup_compress.tar.bz2

注意解包需要用-i参数,如

$ tar -xizvf backup_compress.tar.gz

3.2 发送到远程服务器

这里需要配置ssh互信,不然会卡住

innobackupex    -S /oradata/data/mysql/data/mysql.sock  --user=backup --password=123456  --stream=tar /oradata/data/mysql/xtra | ssh root@11.12.14.30  "cat - > /oradata/data/mysql/xtra/backup.tar"

4. 参考资料

本专题所有内容翻译子Percona XtraBackup的官方文档

可通过如下链接下载

http:///mysql/xtrabackup/tutorial1/


点击阅读原文获得更好的阅读体验,推荐在PC端阅读

也可在公众站内搜索中回复 xtrabackup 搜索相关内容

或直接打开个人网页搜索


http://


往期专题包括:


  • Python 自动化运维

  • MySQL  安装

  • mysqldump命令详解

  • mysqlbinlog命令详解

  • xtrabackup工具详解

  • 打造属于自己的监控系统

  • Python爬虫基础

  • Oracle awr报告全解析

  • Oracle ASM全解析

  • Oracle Data Guard全解析

  • Oracle ClusterWare全解析

  • Oracle常见参数解析

  • Oracle常见故障处理

  • Oracle SQL优化案例


觉得文章不错的欢迎关注,转发,收藏,点赞~

原文作者:宅必备;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
Oracle,MySQL DBA,Python自动化运维

注册时间:2019-01-29

  • 博文量
    245
  • 访问量
    243882