Sauvegarde bases de données MySQL – mysqldump

Nous allons voir comment effectuer une sauvegarde des bases de données MySQL via l’utilitaire mysqldump. Les sauvegardes complètes de VM ne prennent pas forcément en compte vos bases de données, et la restauration de vos machines peut alors être très incertaine, le dump est alors nécessaire. Il peut aussi être utilisé pour la migration de votre base de données, car c’est un export complet des informations de la BDD.

Sauvegarde bases de données MySQL - mysqldump

Sécurité

On commence par créer le fichier « .my.cnf ».

touch .my.cnf

Ensuite, on lui attribue des droits spécifiques afin qu’il ne soit accessible qu’en « root ».

chmod 600 .my.cnf

Puis, on édite le fichier « .my.cnf ».

vi .my.cnf

Dans celui-ci, on indique l’utilisateur qui sera appelé par la commande « mysqldump ».

[mysqldump]
user=root
password=MyPa33w0rd

Sauvegarde

À présent, on crée le script de sauvegarde « savedb.sh ». On indique que l’on sauvegarde toutes les bases de données.

#!/bin/bash
mysqldump --all-databases > all_db.sql

Si l’on veut choisir les bases que l’on souhaite sauvegarder, il faudra utiliser l’argument « –databases » suivi des noms des bases.

#!/bin/bash
mysqldump --databases db1 db2 db3 > all_db.sql

Rotation sauvegardes

Afin de mettre en place une rotation des logs, on peut utiliser la commande « savelog » avec une durée de 7 jours de rétention.

#!/bin/bash
savelog -n -c 7 all_db.sql
mysqldump --all-databases > all_db.sql

Compression

Enfin, si vous travaillez sur de grosses bases, il est essentiel de compresser vos sauvegardes :

#!/bin/bash
mysqldump --all-databases > all_db.sql | gzip -9 /backup/all_db.sql.gz

ADD-DROP-DATABASE

Un argument est souvent utilisé, c’est le « –add-drop-database », il permet dans le cas d’une restauration, de s’assurer, avant réinjection, qu’aucune table ne porte le même nom. Si vous l’utilisez dans le cadre d’une restauration sur une nouvelle base, cet argument est inutile, mais ne gênera en rien votre restauration.

Autres commandes

Pour aller plus loin, rendez-vous sur le lien suivant :

https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

Désormais vous maîtrisez les bases pour effectuer la sauvegarde de vos bases de données MySQL via mysqldump.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *