Paralleler Dump / Load mit MySQL Shell (util.dumpInstance, loadDump)
MySQLBackup & PITRBefehl
# Parallel, zstd-compressed, consistent instance dump
mysqlsh backup@db1:3306 -- util dump-instance /backup/dump_20261008 --threads=8 --compression=zstd --consistent=true
# Single schema
mysqlsh backup@db1:3306 -- util dump-schemas shop --outputUrl=/backup/shop_20261008 --threads=8
# Load: local_infile must be temporarily ON on the target
mysql -h db2 -u root -p -e "SET GLOBAL local_infile = ON"
mysqlsh root@db2:3306 -- util load-dump /backup/dump_20261008 --threads=8 --skipBinlog=false
mysql -h db2 -u root -p -e "SET GLOBAL local_infile = OFF"Was es tut
Teilt Tabellen in Chunks und sichert / lädt sie mit vielen Threads; Dump und Restore sind um ein Vielfaches schneller als mysqldump. Das Dump-Verzeichnis speichert GTID- und Binlog-Koordinaten in @.json.
Wann einsetzen
Für logische Backups von Hunderten GB, logische Migration bei Upgrades und Umzüge On-Prem → Cloud (RDS, HeatWave).
Vorsicht
--consistent=true nimmt kurz einen globalen Read Lock / Backup Lock; Schreibvorgänge warten, wenn eine lange Abfrage läuft. loadDump nutzt LOAD DATA LOCAL, das Ziel braucht daher local_infile=ON, was danach wieder abgeschaltet werden sollte. Ein unterbrochener Load setzt dort fort, wo er stoppte (Progress-Datei); mit --resetProgress von vorn beginnen. Benutzerkonten werden standardmäßig nicht geladen (--loadUsers=true). --skipBinlog=true deaktiviert das Binlogging während des Ladens; auf false lassen, wenn das Ziel Replicas hat.