← retour aux snippets

mysqldump: backup d'une base de données

Sauvegarder une base MySQL/MariaDB avec options sûres et cohérentes.

bash database #mysqldump#backup#mysql

objectif

Créer un dump cohérent pour restauration fiable.

code minimal

mysqldump --single-transaction --routines --triggers --quick -h db -u backup -p appdb | zstd -T0 -3 -o appdb.sql.zst

utilisation

# restaurer
zstd -dc appdb.sql.zst | mysql -h db -u app -p appdb

variante(s) utile(s)

# dump de toutes les bases (sauf systeme) en fichiers séparés
for db in $(mysql -N -e "SHOW DATABASES" | grep -Ev '^(mysql|information_schema|performance_schema|sys)$'); do
  mysqldump --single-transaction "$db" | zstd -T0 -3 -o "$db.sql.zst"
done

notes

  • --single-transaction pour InnoDB (évite les locks longs).
  • compressez en flux pour réduire l’I/O et l’espace.