登录  /  注册
Xtrabackup流备份,增量和压缩小结
php中文网
发布: 2016-06-07 15:55:01
原创
1305人浏览过

xtrabackup的xbstream流备份,直接备份后,通过管道直接压缩,这样把原约3次的IO,减少为一次,整个使用时间也变短了。

【问题背景】

1、 针对MySQL文件比较大,需要压缩的数据库。 如500G数据库,xtrabackup备份后文件为500G,备份完成后再压缩打包,相当于文件读写3次。

2、 对于磁盘IO不好的从库,整个过程会持续好几个小时,有时把IO直接搞到100%, 导致从库延时很大。

3、 xtrabackup的xbstream流备份,直接备份后,通过管道直接压缩,这样把原约3次的IO,减少为一次,整个使用时间也变短了。

【适合使用场景】

1、 数据库文件比较大,要压缩的库;导致整个备份时间长,且要求从库延迟不能太大的库。

【线上使用示例】

主站有一组机器已测试通过,简单对比:

1、 xtrabackup全量备份,不压缩,直接tar包170G, 用时80分钟; xtrabackup流备份+libz2压缩,文件大小46G, 用时40分钟。

2、 备份过程中两个的IO util对比:

常规备份,不压缩:

Xtrabackup流备份,增量和压缩小结

Xbstream备份+压缩

Xtrabackup流备份,增量和压缩小结

【基本使用原理】

1 备份步骤

由于xbstream+压缩备份后,无备份目录,xtrabackup可指定--extra-lsndir目录,此目录只存放此次备份的xtrabackup_checkpoints文件;后面的增量备份时,--incremental-basedir就指向前一日的extra-lsndir目录便可。

1) 全量备份命令:

innobackupex --user=dump --password=xxx --host=127.0.0.1 --slave-info --stream=xbstream --extra-lsndir="$lsndir" $baseDir 2>>"$backupLog" | lbzip2 -kv -n 10 > "$backup_file" 2>>"$backupLog"

2) 增量备份命令:

innobackupex --user=dump --password=xxx --host=127.0.0.1 --slave-info --stream=xbstream --extra-lsndir="$lsndir" --incremental --incremental-basedir="$last_lsndir" $baseDir 2>>"$backupLog" | lbzip2 -kv -n 10 > "$backup_file" 2>>"$backupLog"

2、 还原步骤

备份后生成的为压缩了的文件,,所以要解压,再用xbstream打开流体文件(较之原来还原,多了此步骤)。

1) 解压压缩的文件:lbzip2 -dkv -n 10 2013-07-14_bak_full.bz2

2) 解压液体文件为目录: xbstream -x < 2013-07-14_bak_full -C /work/bak/2013-07-14_full/

后面步骤和原来的还原步骤相同。

MySQL管理之使用XtraBackup进行热备

MySQL开源备份工具Xtrabackup备份部署

MySQL Xtrabackup备份和恢复

用XtraBackup实现MySQL的主从复制快速部署【主不锁表】

安装和使用 Percona 推出的 Xtrabackup 备份 MySQL

XtraBackup 的详细介绍:请点这里
XtraBackup 的下载地址:请点这里

本文永久更新链接地址

来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学