MySQL各種備份工具的速度
大家在備份的時候可以參考一下,使用那種比較頂呱呱~
mysqldump
mysql shell instance dump
mysqlpump
mydumper
-
xtrabackup
這些工具在備份一個庫的速度,硬件 128G內(nèi)存,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
