您的位置:首页 > 数据库 > MySQL

备份一个约250G的mysql实例【xtrabackup备份方案对比】

2015-06-03 15:19 656 查看

备份一个约250G的mysql实例

A. 使用xtrabackup备份加gzip单线程压缩

time innobackupex --user=test --password=test --socket=/home/mysqld.sock --slave-info --defaults-file=/etc/mysql/my.cnf --stream=tar /home/backup | gzip > mysql-backup.tgzreal 271m15.984s
user 275m44.840s
sys 6m34.393s
总结:备份时间: 6小时30分钟以上
占用空间: 87G
占用CPU: 有单个core的cpu被打满

缺点:备份时间长,单个core的cpu被打满,恢复的时候解压会比较耗时,由于备份时间窗比较长所以apply-log的时间也相对会变长
优点:压缩比例高

B. 使用xtrabackup自带的并发压缩

time innobackupex --user=test --password=test --socket=/home/mysqld.sock --slave-info --parallel=16 --compress --compress-threads 16 --defaults-file=/etc/mysql/my.cnf --stream=xbstream /home/backup > mysql-backup.xbstream

real 8m56.112s
user 36m18.179s
sys 4m1.395s

总结:

备份时间: 10分钟左右
占用空间: 123G
占用CPU: 没有任何core的cpu被打满

缺点:压缩比不高,恢复时需要解两次包
优点:备份速度快、cpu core不会被打满,恢复时解压耗时短,由于备份时间窗比较短所以apply-log也是很快会完成

恢复方法:

1.解开xbstream文件
time xbstream -C /home/data/backup/ -x -v < mysql-backup.xbstream
real 8m3.373s
user 2m49.465s
sys 3m31.498s

2.解压压缩的qp文件
cd /home/data/backup/
time innobackupex --decompress --parallel=32 ./
real 6m24.422s
user 17m45.832s
sys 15m17.286s

3.apply log
cd /home/data/backup/

innobackupex --apply-log ./

4.copy back
cd /home/data/backup/

innobackupex --copy-back --defaults-file=/etc/mysql/my.cnf ./

这一步如果 用copy-back的话会比较花时间,有一个省时间的办法是 直接把apply后的数据mv 到需要还原的data目录下(瞬移)
比如:cd /home/data/backup/ && mv ./* /home/mysqlrecover/data/
还原时间: 25分钟左右

牺牲点空间换时间还是值得的....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: