Sauvegarde et restauration de base de données MySql (pour les serveurs dédiés uniquement)

Cette solution de sauvegarde et restauration n’est applicable que sur les serveurs dédiés, en ligne de commandes.

ℹ️ Les serveurs dédiés avec un contrat d’infogérance bénéficie déjà d’un service de backup de l’intégralité de leurs serveurs sur 30 jours glissants qui est inclus.

Pour effectuer la sauvegarde et la restauration des données Mysql en ligne de commande on utilise les utilitaires mysqldump et mysql.
De préférence, on utilisera le compte administrateur créé lors de l’installation de MySql : ici c’est l’utilisateur root (user id = 0).


Sauvegarde MySql

Il existe différents types de sauvegardes MySql : complètes ou partielles. Il est possible de sauvegarder toutes les bases de données, ou bien une seule base de données, ou encore certaines tables d’une ou de plusieurs bases de données déterminées.

Pour sauvegarder l’ensemble de toutes les bases de données on utilise la commande suivante :

mysqldump --user=mon_user --password=mon_password --all-databases > fichier_destination.sql

Pour sauvegarder une base de données précise :

mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base > fichier_destination.sql

Pour sauvegarder plusieurs bases de données :

mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base_1 nom_de_la_base_2 > fichier_destination.sql

Pour sauvegarder une table précise :

mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base --tables nom_de_la_table > fichier_destination.sql

Pour sauvegarder plusieurs tables :

mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base --tables nom_de_la_table_1 nom_de_la_table_2 > fichier_destination.sql

Pour tous ces types de sauvegarde, les fichiers générés sont de type .sql.

Néanmoins il est possible de changer l’extension et de la remplacer par celle que l’on veut, comme .txt par exemple, cela n’a pas d’importance et aucun impact.
Les fichiers sont lisibles en clair et contiennent toutes les commandes SQL pour pouvoir effectuer une restauration MySql.

Attention : les fichiers .sql sont volumineux. Il est recommandé de les compresser lors de la sauvegarde pour économiser de l’espace de stockage.


Compresser la sauvegarde MySql

Pour compresser les données, nous vous invitons à utiliser gunzip après mysqldump.

Cela va nous donner une ligne de commande ressemblant à celle-ci :

mysqldump <commandes> | gzip > fichier_destination.sql.gz

Exemple avec la commande de sauvegarde complète :

mysqldump --user=mon_user --password=mon_password --all-databases | gzip > fichier_destination.sql.gz

N.B : avec cette méthode, la commande de sauvegarde Mysql crée un seul fichier compressé : le fichier source n’existe plus.


Restauration MySql

Pour la restauration on utilise la commande mysql.
Cette commande va lire un fichier puis le restaurer en fonction de son contenu et de ses instructions.

La restauration peut se faire pour toutes les bases de données ou pour une seule base de données déterminée.

Exemple pour toutes les bases de données sans distinction :

mysql --user=mon_user --password=mon_password < fichier_source.sql

Exemple pour restaurer une base de données précise :

mysql --user=mon_user --password=mon_password nom_de_la_base < fichier_source.sql