备份一个约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.984suser 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.xbstreamreal 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分钟左右
牺牲点空间换时间还是值得的....
相关文章推荐
- MySQL用触发器同步两张表
- MSSQL与MYSQL手工注入时的简单对比
- 一点mysql注入时用到的函数
- mysql :select 添加一列固定值
- PostgreSQL和MySQL like区别
- 关于mysql的metadata lock
- MySQL慢查询优化
- Mysql数据库优化总结
- C#调用MySQL数据库
- 深入Mysql字符集设置
- Mysql事务,并发问题,锁机制
- MySQL数据恢复--binlog
- JDBC数据库常用操作(mysql)
- MYSQL Error2003错误解决方案
- mysql存储过程循环语句简单例子
- mysql 互为主从复制常见问题
- MySQL 常用语法总结
- 使用c3p0与DBCP连接池,造成的MySql 8小时问题解决方案
- MySQL单列索引和联合索引
- MySQL索引之前缀索引和索引选择性