MySQL 逻辑物理备份测试
逻辑备份
mysqldump 普通备份
time mysqldump -uadmin -padmin -h127.0.0.1 -P3306 --routines --set-gtid-purged=OFF --triggers --events --single-transaction --master-data=2 --all-databases>/data/compressed/backup.sql
real 0m19.349s
user 0m3.879s
sys 0m0.951s
du -sh /data/compressed/ && rm -rf /data/compressed/*
362M /data/compressed/
mysqlpump 并行备份
time mysqlpump -uadmin -padmin -h127.0.0.1 -P3306 --set-gtid-purged=OFF --triggers --default-parallelism=4 --routines --events --single-transaction --all-databases>/data/compressed/backup.sql
real 0m6.942s
user 0m5.803s
sys 0m0.916s
du -sh /data/compressed/ && rm -rf /data/compressed/*
363M /data/compressed/
mysqlpump 压缩并行备份
time mysqlpump -uadmin -padmin -h127.0.0.1 -P3306 --set-gtid-purged=OFF --triggers --default-parallelism=4 --routines --events --compress-output=LZ4 --single-transaction --all-databases>/data/compressed/backup.sql
real 0m7.714s
user 0m7.149s
sys 0m0.611s
du -sh /data/compressed/
213M /data/compressed/
time lz4_decompress /data/compressed/backup.sql /data/backup.sql
ll -h /data/backup.sql
-rw-r--r-- 1 root root 363M Sep 16 19:53 /data/backup.sql
mydumper 并行备份
time mydumper -u admin -p admin -h 127.0.0.1 -P 3306 --routines --triggers -t 4 --events -o /data/compressed
real 0m7.582s
user 0m1.810s
sys 0m0.715s
du -sh /data/compressed/
371M /data/compressed/
mydumper 并行压缩备份
time mydumper -u admin -p admin -h 127.0.0.1 -P 3306 -c --routines --triggers -t 4 --events -o /data/compressed
real 0m12.751s
user 0m26.136s
sys 0m0.418s
du -sh /data/compressed/
119M /data/compressed/
注意
mydumper备份MySQL GTID单独存放在metadata文件里
cat /data/compressed/metadata
Started dump at: 2018-09-16 17:33:32
SHOW MASTER STATUS:
Log: mysql-bin.000002
Pos: 47557983
GTID:898db7fe-f80a-11e7-b8d4-fa163efd7144:1-75
Finished dump at: 2018-09-16 17:33:45
小结
对2.3G datadir 分别进行逻辑备份,占用时间最短的是mysqlpump并行备份(7s);占用空间最小的是mydumper并行压缩备份(119M),对于数据库较小可以采用mysqldpump或mydumper并行备份,备份速度都要优于mysqldump。
物理备份
xtrabackup --version
xtrabackup version 2.4.8
ll /usr/bin/innobackupex
lrwxrwxrwx. 1 root root 10 Jan 22 2018 /usr/bin/innobackupex -> xtrabackup
innobackupex 是xtrabackup的软链接,在percona-xtrabackup8.0版本中被移除
du -sh /opt/mysql/data/3306/
2.3G /opt/mysql/data/3306/
xtrabackup 压缩备份
time xtrabackup --defaults-file=/opt/mysql/etc/3306/my.cnf -uadmin -padmin --socket=/opt/mysql/data/3306/mysqld.sock --backup --compress --target-dir=/data/compressed/
real 0m44.597s
user 0m4.905s
sys 0m1.562s
du -sh /data/compressed/
675M /data/compressed/
yum -y install qpress
time xtrabackup --decompress --target-dir=/data/compressed/
real 0m28.961s
user 0m4.767s
sys 0m5.995s
xtrabackup 并行压缩备份
time xtrabackup --defaults-file=/opt/mysql/etc/3306/my.cnf -uadmin -padmin --socket=/opt/mysql/data/3306/mysqld.sock --backup --compress --compress-threads=4 --parallel=4 --target-dir=/data/compressed/
real 0m31.813s
user 0m5.159s
sys 0m1.803s
du -sh /data/compressed/
673M /data/compressed/
time xtrabackup --decompress --parallel=4 --target-dir=/data/compressed/
real 0m24.684s
user 0m5.384s
sys 0m8.028s
innobackupex 并行压缩备份
time /usr/bin/innobackupex --defaults-file=/opt/mysql/etc/3306/my.cnf -uadmin -padmin --socket=/opt/mysql/data/3306/mysqld.sock --compress --compress-threads=4 --parallel=4 /data/compressed/
real 0m29.864s
user 0m4.680s
sys 0m1.460s
du -sh /data/compressed/ && rm -rf /data/compressed/
673M /data/compressed/
innobackupex xbstream 流式备份
mkdir -p /data/backup
time innobackupex --defaults-file=/opt/mysql/etc/3306/my.cnf -uadmin -padmin --socket=/opt/mysql/data/3306/mysqld.sock --stream=xbstream /data/backup/ > /data/backup/backup.xbstream
real 0m42.509s
user 0m0.947s
sys 0m2.642s
du -ch /data/backup/
1.9G /data/backup/
1.9G total
time xbstream -x</data/backup/backup.xbstream -C /backup
real 0m28.451s
user 0m0.308s
sys 0m13.889s
innobackupex xbstream 流式压缩并行备份
time innobackupex --defaults-file=/opt/mysql/etc/3306/my.cnf -uadmin -padmin --socket=/opt/mysql/data/3306/mysqld.sock --stream=xbstream --compress --compress-threads=4 --parallel=4 /data/backup/ > /data/backup/backup.xbstream
real 0m35.992s
user 0m4.988s
sys 0m1.909s
du -sh /data/backup/
672M /data/backup/
innobackupex tar 流式备份
time innobackupex --defaults-file=/opt/mysql/etc/3306/my.cnf -uadmin -padmin --socket=/opt/mysql/data/3306/mysqld.sock --stream=tar /data/backup/ > /data/backup/out.tar
real 0m40.338s
user 0m0.641s
sys 0m2.726s
du -sh /data/backup/
1.9G /data/backup/
innobackupex tar 流式压缩备份
`
time innobackupex --defaults-file=/opt/mysql/etc/3306/my.cnf -uadmin -padmin --socket=/opt/mysql/data/3306/mysqld.sock --stream=tar /data/backup/ | gzip > /data/backup/out.tar.gz
real 1m47.964s
user 1m19.120s
sys 0m2.883s
du -ch /data/backup/
476M /data/backup/
time tar -zxf /data/backup/out.tar.gz -C /backup/
real 0m28.718s
user 0m11.294s
sys 0m18.175s
innobackupex tar 流式压缩并行备份
并行备份无效
time innobackupex --defaults-file=/opt/mysql/etc/3306/my.cnf --parallel=4 -uadmin -padmin --socket=/opt/mysql/data/3306/mysqld.sock --stream=tar /data/backup/ | gzip > /data/backup/out.tar.gz
real 1m50.192s
user 1m18.925s
sys 0m2.768s
xtrabackup: using O_DIRECT
InnoDB: Number of pools: 1
xtrabackup: warning: the --parallel option does not have any effect when streaming in the 'tar' format. You can use the 'xbstream' format instead.
小结
对2.3G datadir 分别进行物理备份,备份占用时间最短的是innobackupex压缩并行备份(30s)和xtrabackup 压缩并行备份(31s),其次是innobackupex xbstream 流式压缩并行备份(35s);备份占用空间最小的是innobackupex tar流式压缩备份(476M),innobackupex tar流式备份不支持并行备份
若更在意备份时间,推荐xtrabackup/innobackupex 压缩并行备份,若更在意备份空间占用大小,推荐innobackupex tar流式压缩备份
数据量较大适合物理备份
参考
Percona XtraBackup - Documentation
MySQL 逻辑物理备份测试的更多相关文章
- MySQL数据物理备份之lvm快照
使用lvm快照实现物理备份 优点: 几乎是热备(创建快照前把表上锁,创建完后立即释放) 支持所有存储引擎 备份速度快 无需使用昂贵的商业软件(它是操作系统级别的) 缺点: 可能需要跨部门协调(使用操作 ...
- 使用 xtrabackup 进行MySQL数据库物理备份
0. xtrabackup的功能 能实现的功能: 非阻塞备份innodb等事务引擎数据库. 备份myisam表会阻塞(需要锁). 支持全备.增量备份.压缩备份. 快速增量备份(xtradb,原理类似于 ...
- MySQL数据物理备份之xtrabackup
percona-xtrabackup 它是开源免费的支持MySQL 数据库热备份的软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份.它不暂停服务创建Innodb热备份: 为mysql ...
- MySQL数据物理备份之tar打包备份
复制数据文件方式,可以使用cp或tar 1.停止服务 [root@localhost mysql]# systemctl stop mysqld [root@localhost mysql]# net ...
- MySQL · 物理备份 · Percona XtraBackup 备份原理
http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据 ...
- mysql物理备份innobackupex
一.全量备份 1.安装xtrabackup # wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/b ...
- 我的MYSQL学习心得 备份和恢复(详细)
备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具.mysqldump命令执行时将数据库备份成一个文本文件, 该文件中实际上包含了多个 ...
- MySQL优化之——备份和恢复
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46766919 备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUM ...
- MySQL物理备份 lvm-snapshot
MySQL备份之 lvm-snapshot lvm-snapshot(工具备份) 优点: 几乎是热备(穿件快照前把表上锁,创建完成后立即释放) 支持所有引擎 备份速度快 无需使用昂贵的商业软件(它是操 ...
随机推荐
- git版本控制工具的使用(3)
git remote查看远程库的信息get remote -v可以更详细,查看推送和抓取权限 git push origin master把本地的master提交到远程的库对应的主分支 gt push ...
- java.lang.SuppressWarnings的注解简介
简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一.可以标注在类.字段.方法.参数.构造方法,以及局部变量上.作用:告诉编译器忽略指定的警告, ...
- 2018.10.30 NOIP模拟 字胡串(单调栈+容斥)
传送门 对于每个点,用单调栈求出它左右第一个比他大的位置. 然后对每个点O(logai)O(log_{a_i})O(logai)求出第一个拥有跟它不同二进制位的位置. 然后容斥一下就行了. 代码
- layer.alert没有垂直居中
经查找是因为 <!DOCTYPE html> 这句没有写在整个页面的最顶部,将其放在整个页面的第一行就可以了. ps:原理不是很清楚
- (7)Why 30 is not the new 20
https://www.ted.com/talks/meg_jay_why_30_is_not_the_new_20/transcript 00:12When I was in my 20s, I s ...
- 阿里云oss视频上传不能在线播放,js,javascript,在线播放器,插件
网页视频播放插件 发现阿里云oss储存,上传了视频不能在线播放. 解决方法:使用插件播放即可解决. <html> <head> <meta charset="u ...
- MFC模块状态(二)AFX_MANAGE_STATE(AfxGetStaticModuleState())
以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上AFX_MANAGE_STATE(AfxGetStaticModuleState()).一直不明白这样做 ...
- 20155326 实验四 Android程序设计实验报告
20155326 实验四 Android程序设计实验报告 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3. ...
- noip第23课作业
1. 营救 铁塔尼号遇险了!他发出了求救信号.距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里. 通过侦测,哥伦比亚号获取了一张海洋图.这张图将海洋部分分化成n*n个比较小的单位,其 ...
- hdu 5084 前缀和预处理
http://acm.hdu.edu.cn/showproblem.php?pid=5084 给出矩阵M,求M*M矩阵的r行c列的数,每个查询跟前一个查询的结果有关. 观察该矩阵得知,令ans = M ...