NEWInfogérance serveur Linux à 119 €/mois HT — sauvegardes testées, monitoring inclus.OFFREFrais d'installation offerts pour tout engagement ferme de 12 mois.SÉCURITÉDurcissement serveur : 5 règles à appliquer ce mois-ci. Guide gratuit sur demande.MONITORINGAlertes 24/7 sur vos sites et serveurs — surveillance continue par un technicien.CONSEILSauvegardes : testées ou supposées ? On teste la restauration chaque mois pour vous.VEILLEVeille CVE proactive : on lit, on teste, on patch — avant vos clients.NEWInfogérance serveur Linux à 119 €/mois HT — sauvegardes testées, monitoring inclus.OFFREFrais d'installation offerts pour tout engagement ferme de 12 mois.SÉCURITÉDurcissement serveur : 5 règles à appliquer ce mois-ci. Guide gratuit sur demande.MONITORINGAlertes 24/7 sur vos sites et serveurs — surveillance continue par un technicien.CONSEILSauvegardes : testées ou supposées ? On teste la restauration chaque mois pour vous.VEILLEVeille CVE proactive : on lit, on teste, on patch — avant vos clients.
[ Sauvegarde ]

Sauvegarder et restaurer une base de données sans interrompre le service

OWL SYSTEMS16 juil. 20262 min
Sauvegarder et restaurer une base de données sans interrompre le service

Sauvegarder une base de données en production est une opération délicate. Contrairement à de simples fichiers statiques, une base de données relationnelle (MySQL, MariaDB, PostgreSQL) est en écriture permanente. Si vous lancez une sauvegarde naïve qui copie les fichiers bruts du disque pendant que des transactions sont en cours, vous obtiendrez une archive corrompue et inutilisable. À l'inverse, si vous verrouillez toutes les tables pendant l'export, votre site ou votre application deviendra totalement inaccessible pour vos utilisateurs.

1. Réaliser des dumps cohérents sans verrouillage sous MySQL/InnoDB

Si vos tables utilisent le moteur moderne `InnoDB` (ce qui est la norme), l'outil `mysqldump` dispose d'une option magique : `--single-transaction`. Elle permet d'ouvrir une transaction isolée au début de l'export et de capturer un instantané cohérent de toute la base de données sans poser de verrou bloquant sur les écritures des utilisateurs. Couplée à `--quick` (qui évite de charger toute la table en RAM) et à une compression à la volée, cette méthode est idéale pour les bases de taille petite à moyenne.

# Sauvegarde cohérente à chaud sans bloquer la production (InnoDB)
mysqldump --single-transaction --quick --routines --triggers -u backup_user -p ma_base | gzip > /backups/ma_base_$(date +%F).sql.gz

2. Sauvegardes physiques pour les très grosses bases

Lorsque votre base dépasse plusieurs dizaines de gigaoctets, un dump logique SQL devient trop long à exporter et surtout beaucoup trop lent à réimporter en cas de sinistre. Il faut alors se tourner vers des outils de sauvegarde physique à chaud comme `Percona XtraBackup` (pour MySQL) ou `pgBackRest` (pour PostgreSQL), qui copient directement les pages de données et les journaux de transactions (WAL/binlogs), permettant une restauration quasi instantanée et même un retour à la seconde près (Point-In-Time Recovery).

Une sauvegarde dont la restauration n'a jamais été testée sur un serveur tiers n'est pas une sauvegarde, c'est un vœu pieux.

Lire la suite