Dump / load paralelo com MySQL Shell (util.dumpInstance, loadDump)
MySQLBackup e PITRComando
# 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"O que faz
Divide as tabelas em chunks e faz o dump / load com muitas threads; tanto o dump quanto o restore são muitas vezes mais rápidos que o mysqldump. O diretório do dump guarda as coordenadas de GTID e binlog em @.json.
Quando usar
Para backups lógicos de centenas de GB, migração lógica durante upgrades e migrações on-prem → nuvem (RDS, HeatWave).
Atenção
--consistent=true obtém um breve global read lock / backup lock; as gravações esperam se uma consulta longa estiver rodando. O loadDump usa LOAD DATA LOCAL, então o destino precisa de local_infile=ON, que deve ser desligado depois. Um load interrompido retoma de onde parou (arquivo de progresso); use --resetProgress para recomeçar. As contas de usuário não são carregadas por padrão (--loadUsers=true). --skipBinlog=true desabilita o binlog durante o load; mantenha false se o destino tiver réplicas.