DBAtlas · Atlas für Datenbankbetrieb

Paralleler Dump / Load mit MySQL Shell (util.dumpInstance, loadDump)

MySQLBackup & PITR

Befehl

# 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.

In DBAtlas öffnen →

Verwandte Einträge