MySQL各種備份工具的速度
大家在備份的時(shí)候可以參考一下浑娜,使用那種比較頂呱呱~
mysqldump
mysql shell instance dump
mysqlpump
mydumper
-
xtrabackup
這些工具在備份一個(gè)庫的速度,硬件 128G內(nèi)存,32核CPU抖拦,600GB磁盤,備份的實(shí)例 177 GB匾二。
那我們可以觀察到啥呢闷供?
- mydumper 在使用zstd 這種壓縮方式,快的一比夺荒,這個(gè)壓縮的選項(xiàng)在最近的mydumper才會呢瞒渠,快點(diǎn)去試試吧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 上面的命令你不需要改,你需要下載這個(gè)github.com
mysqlpump
$ time mysqlpump --default-parallelism=16 --all-databases > backup.out
xtrabackup
$ time mysqlpump --default-parallelism=16 --all-databases > backup.out