MySQL逻辑物理备份测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL逻辑物理备份测试相关的知识,希望对你有一定的参考价值。

mysql逻辑物理备份测试

目录

逻辑备份
mysqldump普通备份
mysqlpump并行备份
mysqlpump压缩并行备份
mydumper并行备份
mydumper并行压缩备份
小结
物理备份
xtrabackup压缩备份
xtrabackup并行压缩备份
innobackupex并行压缩备份
innobackupex xbstream流式备份
innobackupex xbstream流式压缩并行备份
innobackupex tar流式备份
innobackupex tar流式压缩备份
innobackupex tar流式压缩并行备份
小结

逻辑备份
mysqldump普通备份

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">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</font></font>
real 0m19.349s 
user 0m3.879s 
sys 0m0.951s
du -sh /data/compressed/ && rm -rf /data/compressed/*

362m /数据/压缩/

mysqlpump并行备份

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">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</font></font>

真正的0m7.714s
用户0m7.149s
sys 0m0.611s

du -sh /data/compressed/

213m /数据/压缩/

时间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并行备份

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">time mydumper -u admin -p admin -h 127.0.0.1 -p 3306 --routines --triggers -t 4 --events -o / data / compressed</font></font>

真正的0m7.582s
用户0m1.810s
sys 0m0.715s

du -sh /data/compressed/

119米/数据/压缩/

注意

mydumper备份mysql gtid单独存放在元文件里

cat / data / compressed / metadata 
start dump:2018-09-16 17:33:32 
show master status:
log:mysql-bin.000002 
pos:47557983 
gtid:898db7fe-f80a-11e7-b8d4-fa163efd7144:1-75

完成转储:2018-09-16 17:33:45

小结

对2.3g datadir分别进行逻辑备份,占用时间最短的是mysqlpump并行备份(7s);占用空间最小的是mydumper并行压缩备份(119m),对于数据库较小可以采用mysqldpump或mydumper并行备份,备份速度都要优于mysqldump的。
物理备份
xtrabackup --version 
xtrabackup版本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压缩备份
?
1
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/
真正的0m44.597s 
用户0m4.905s 
sys 0m1.562s

du -sh /data/compressed/
675m /数据/压缩/

yum -y install qpress
time xtrabackup --decompress --target-dir = / data / compressed / 
real 0m28.961s 
user 0m4.767s 
sys 0m5.995s
xtrabackup并行压缩备份
?
1
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/

真正的0m31.813s
用户0m5.159s
sys 0m1.803s

du -sh /data/compressed/

673m /数据/压缩/

time xtrabackup --decompress --parallel=4 --target-dir=/data/compressed/

真正的0m24.684s
用户0m5.384s
sys 0m8.028s

innobackupex并行压缩备份
?
1
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/

真正的0m29.864s
用户0m4.680s
sys 0m1.460s

innobackupex xbstream流式备份
mkdir -p /data/backup<font></font>
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

真正的0m42.509s
用户0m0.947s
sys 0m2.642s

du -ch /data/backup/

1.9g / data / backup /
总共1.9g

time xbstream -x</data/backup/backup.xbstream -c /backup

真正的0m28.451s
用户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

真正的0m35.992s
用户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

实际0m40.338s
用户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

真正的1m47.964s
用户1m19.120s
sys 0m2.883s

du -ch /data/backup/
476m / data / backup /
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

真正的1m50.192s
用户1m18.925s
sys 0m2.768s

xtrabackup:使用o_direct
innodb:池数:1
xtrabackup:warning: - “并行”选项在以“ tar ”格式流式传输时没有任何效果。您可以使用‘xbstream‘格式。

小结
对2.3g datadir分别进行物理备份,备份占用时间最短的是innobackupex压缩并行备份(30s)和xtrabackup压缩并行备份(31s),其次是innobackupex xbstream流式压缩并行备份(35s);备份占用空间最小的是innobackupex tar流式压缩备份(476m),innobackupex tar流式备份不支持并行备份

若更在意备份时间,推荐xtrabackup / innobackupex压缩并行备份,若更在意备份空间占用大小,推荐innobackupex tar流式压缩备份
数据量较大适合物理备份

参考
percona xtrabackup - 文档

以上是关于MySQL逻辑物理备份测试的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 的数据库备份类型:物理备份逻辑备份快照备份

十MySQL数据备份与恢复

MySQL数据库的物理备份逻辑备份和恢复

MySQL数据库的物理备份逻辑备份和恢复

Mysql完全备份与恢复

入门MySQL——备份与恢复