逻辑备份

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 逻辑物理备份测试的更多相关文章

  1. MySQL数据物理备份之lvm快照

    使用lvm快照实现物理备份 优点: 几乎是热备(创建快照前把表上锁,创建完后立即释放) 支持所有存储引擎 备份速度快 无需使用昂贵的商业软件(它是操作系统级别的) 缺点: 可能需要跨部门协调(使用操作 ...

  2. 使用 xtrabackup 进行MySQL数据库物理备份

    0. xtrabackup的功能 能实现的功能: 非阻塞备份innodb等事务引擎数据库. 备份myisam表会阻塞(需要锁). 支持全备.增量备份.压缩备份. 快速增量备份(xtradb,原理类似于 ...

  3. MySQL数据物理备份之xtrabackup

    percona-xtrabackup 它是开源免费的支持MySQL 数据库热备份的软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份.它不暂停服务创建Innodb热备份: 为mysql ...

  4. MySQL数据物理备份之tar打包备份

    复制数据文件方式,可以使用cp或tar 1.停止服务 [root@localhost mysql]# systemctl stop mysqld [root@localhost mysql]# net ...

  5. MySQL · 物理备份 · Percona XtraBackup 备份原理

    http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据 ...

  6. mysql物理备份innobackupex

    一.全量备份 1.安装xtrabackup # wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/b ...

  7. 我的MYSQL学习心得 备份和恢复(详细)

    备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具.mysqldump命令执行时将数据库备份成一个文本文件, 该文件中实际上包含了多个 ...

  8. MySQL优化之——备份和恢复

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46766919 备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUM ...

  9. MySQL物理备份 lvm-snapshot

    MySQL备份之 lvm-snapshot lvm-snapshot(工具备份) 优点: 几乎是热备(穿件快照前把表上锁,创建完成后立即释放) 支持所有引擎 备份速度快 无需使用昂贵的商业软件(它是操 ...

随机推荐

  1. PHP标准库 SPL

    PHP SPL笔记 这几天,我在学习PHP语言中的SPL. 这个东西应该属于PHP中的高级内容,看上去很复杂,但是非常有用,所以我做了长篇笔记.不然记不住,以后要用的时候,还是要从头学起. 由于这是供 ...

  2. 2018.12.17 ural1132 Square Root(二次剩余)

    传送门 MD写一道二次剩余的板题差点写自闭了. 我用的是cipollacipollacipolla算法. 利用的是欧拉准则来找寻一个二次非剩余类来求根. 注意这题有两个等根和模数为2的情况. 代码: ...

  3. Java基础之多线程没那么复杂!

    多线程的引入 1.什么是多线程 线程是程序执行的一条路径,一个进程中可以包含多条线程;多线程并发执行可以提高程序的效率</br> 2.进程和线程之间的关系 操作系统可以同时执行多个任务,每 ...

  4. openstack之flavor管理

    概览 [root@cc07 ~]# nova help | grep flavor flavor-access-add Add flavor access for the given tenant. ...

  5. .Net 导出Excel时设置单元格的格式为文本类型

    <td style= 'vnd.ms-excel.numberformat:@ ' align='right'>" & Format(Val(rowTitle.Item( ...

  6. C#创建、设置和安装Windows服务

    文章大部分内容转自:http://www.cnblogs.com/greatandforever/archive/2008/10/14/1310504.html:和:http://www.cnblog ...

  7. python.csv 按行按列读取

    参考:https://blog.csdn.net/ly_ysys629/article/details/55107237 # header=0,表示文件第0行为列索引 # index_col=0,表示 ...

  8. tp5 excel导出类

    1.引入Loader use think\Loader; 2.导出方法: /** * excel表格导出 * @param string $fileName 文件名称 * @param array $ ...

  9. Linux服务器密钥安全登录

    使用密钥登录的好处:1.省事,不用每次去敲用户名和密码:2.安全,密钥长度一般是1024位,比我们设的密码要长得多: 以下是为新用户jackson添加密钥登录的步骤. 1.添加用户,并添加到sudoe ...

  10. JS库汇总[重要]

    库名称  说明 附加说明 URI 一款js 操作URL的插件 功能十分强大.可以增加 .修改.删除.参数   1.Animate.css 2.Hover.css 3.jQuery 4.WebUploa ...