MySQL各种备份工具的速度
大家在备份的时候可以参考一下,使用那种比较顶呱呱~
-
mysqldump
-
mysql shell instance dump
-
mysqlpump
-
mydumper
-
xtrabackup
这些工具在备份一个库的速度,硬件 128G内存,32核CPU,600GB磁盘,备份的实例 177 GB。
image.png
那我们可以观察到啥呢?
- mydumper 在使用zstd 这种压缩方式,快的一比,这个压缩的选项在最近的mydumper才会呢,快点去试试吧MyDumper 0.11.3
- mydumper 在使用gzip这种压缩方式慢的一比。
- mysqldump太慢了。
各类工具版本
32 CPUs
128GB Memory
2x NVMe disks 600 GB
Centos 7.9
MySQL 8.0.26
MySQL shell 8.0.26
mydumper 0.11.5 – gzip
mydumper 0.11.5 – zstd
Xtrabackup 8.0.26
备份命令如下
mysqldump
$ time mysqldump --all-databases --max-allowed-packet=4294967295 --single-transaction -R --master-data=2 --flush-logs | gzip > /backup/dump.dmp.gz
mysql shell
$ mysqlsh MySQL JS > shell.connect('root@localhost:3306'); MySQL localhost:3306 ssl test JS > util.dumpInstance("/backup", {ocimds: true, compatibility: ["strip_restricted_grants","ignore_missing_pks"],threads: 16})
mydumper
$ time mydumper --threads=16 --trx-consistency-only --events --routines --triggers --compress --outputdir /backup/ --logfile /backup/log.out --verbose=2
*注意,你要是想使用zstd 上面的命令你不需要改,你需要下载这个github.com
mysqlpump
$ time mysqlpump --default-parallelism=16 --all-databases > backup.out
xtrabackup
$ time mysqlpump --default-parallelism=16 --all-databases > backup.out
网友评论