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 - 文档
原文地址:https://blog.51cto.com/14354846/2408068