Dump / chargement parallèle avec MySQL Shell (util.dumpInstance, loadDump)
MySQLSauvegarde et PITRCommande
# 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"Ce que fait la commande
Découpe les tables en chunks et les exporte / charge avec de nombreux threads ; dump et restauration sont plusieurs fois plus rapides que mysqldump. Le répertoire de dump stocke les coordonnées GTID et binlog dans @.json.
Quand l'utiliser
Pour les sauvegardes logiques de centaines de GB, la migration logique lors des mises à niveau, et les passages on-premise → cloud (RDS, HeatWave).
Attention
--consistent=true prend un bref verrou global en lecture / backup lock ; les écritures attendent si une requête longue est en cours. loadDump utilise LOAD DATA LOCAL, donc la cible a besoin de local_infile=ON, qu'il faut désactiver ensuite. Un chargement interrompu reprend là où il s'est arrêté (fichier de progression) ; utilisez --resetProgress pour repartir de zéro. Les comptes utilisateurs ne sont pas chargés par défaut (--loadUsers=true). --skipBinlog=true désactive la journalisation binlog pendant le chargement ; laissez-le à false si la cible a des répliques.