Sauvegarde automatique d’une DB MySQL avec MySQLdump

MySQLdump est un outil permettant d’effectuer des backups de vos bases de données, nous allons le combiner avec cron avec d’automatiser vos sauvegardes.

Pré-requis

Avant de préparer nos sauvegardes, vous devez connaître le login (ex: root) et mot de passe d’accès à MySQL.
En cas d’oubli de ce mot de passe, vous pouvez le réinitialiser par la commande suivante :

Nous allons aussi définir un utilisateur sur votre système qui sera dédié pour vos sauvegardes MySQL.

Maintenant, nous allons stocker le login et mot de passe d’accès à votre base de donnée MySQL dans un fichier de configuration et cela pour ne pas faire apparaître ces informations dans notre crontab par la suite :


Utilisation de MySQLdump

MySQLdump est un outil permettant la sauvegarde et la restauration de données dans une base MySQL.
Il est possible d’agir sur toutes les bases de donnée du système, une seule base, une seule table ou de faire une sélection de table d’une ou plusieurs bases comme le montre les exemples suivants :

Les paramètres de configuration de MySQLdump sont nombreux et le plus courants sont les suivants :

Paramètre pour spécifier l’utilisateur MySQL.

Paramètre pour spécifier le mot de passe de l’utilisateur MySQL.

Paramètre pour spécifier que la sauvegarder concerne toute la base de donnée.

Paramètre pour spécifier la base de donnée à sauvegarder.

Paramètre pour spécifier la table à sauvegarder.

Paramètre pour ajouter un DROP TABLE avant chaque INSERT.

Paramètre pour spécifier le nom des colonnes dans les INSERT.

Ajouter des quotes </strong> <strong> aux noms des tables et colonnes.

La liste est exhaustive et consultable sur la documentation :


Sauvegarde et restauration

Nous allons utiliser une commande pour la mise en place de la sauvegarde pour une seule table en omettant volontairement le user et password que notre système récupèrera automatiquement sur le fichier préalablement configuré /home/save_db/.my.cnf :

Affichage de la date dans le nom du fichier de sauvegarde SQL.

Il est également possible de compresser le fichier si la volumétrie est assez importante grâce à gzip :

Enfin, si vous désirez restaurer une sauvegarde, l’action s’effectue de la manière suivante (login et mot de passe facultatif comme pour la sauvegarde) :


Création du cron

Finalement, il nous reste à programme une tâche cron de manière à rendre automatique la sauvegarde :

Texte


Conclusion

Votre sauvegarde automatique est en place est sera localisée à l’emplacement /home/save_db/
Il est également possibleme de suivre les opérations réalisés et donc de voir si la sauvegarde a fonctionné sur /var/log/syslog