Sauvegarde MySQL

Ce guide vous aidera à effectuer une sauvegarde complète de votre base de données MySQL sans arrêter votre système. Il a été rédigé et testé par l'équipe devops de Navixy, vous pouvez donc lui faire confiance en tant que solution connue et fonctionnelle.

Cette instruction est valable pour les versions MySQL 8.xx (inférieures ou égales à 8.0.29) et 5.xx. Elle est rédigée pour, testée et peut être appliquée sur les systèmes d'exploitation suivants :

  • Ubuntu 18.04, 20.04

  • Debian 9, 10, 11

Pour d'autres systèmes d'exploitation et versions de logiciels, elle peut être appliquée et adaptée à vos risques et périls.

Ce dont vous avez besoin pour effectuer une sauvegarde complète de votre base de données MySQL sans arrêter le système :

  • Connecter un volume supplémentaire sur un disque séparé sur lequel la sauvegarde sera effectuée.

  • Obtenir les identifiants d'un utilisateur MySQL existant ou créer un utilisateur spécifiquement pour la sauvegarde

  • Toutes les opérations doivent être effectuées en tant qu'utilisateur disposant de droits root, ou en utilisant sudo.

Ci-dessous, nous examinerons plus en détail les étapes que vous devez suivre.

Création d'un utilisateur

À titre d'exemple, nous créerons l'utilisateur nommé bkpuser avec les droits minimums suffisants pour créer une sauvegarde complète et le mot de passe s3cret.

Tout d'abord, vous devez accéder à la console MySQL avec des droits administratifs, exemple :

mysql -uroot -p

Ensuite, dans la console MySQL, saisissez les commandes spécifiques aux différentes versions de MySQL :

MySQL 5.xx

MySQL 8.xx

Volume de sauvegarde

Nous devons maintenant calculer la taille du volume supplémentaire sur lequel la sauvegarde sera effectuée.

Afin de déterminer la taille du volume nécessaire pour la sauvegarde de la base de données, vous devez trouver la taille de votre base de données actuelle et la multiplier par 1,5.

Si votre base de données se trouve à l'emplacement par défaut défini lors de l'installation du serveur MySQL, vous devez exécuter la commande suivante avec les droits root :

Si vous avez un emplacement de base de données personnalisé, vous devez spécifier le chemin de la base de données en argument de la commande du, c.-à-d. :

Exemple de calcul

Dans la capture d'écran, nous pouvons voir que la taille actuelle de la base de données MySQL est de 181 Go. Par conséquent, la taille du volume pour sauvegarder cette base de données doit être d'au moins 181 * 1,5 = 271,5 Go, arrondie à 272 Go

Le calcul s'applique à une seule copie de la base de données. Si vous prévoyez de conserver plus d'une copie de sauvegarde de la base de données, pensez à multiplier le résultat par le nombre de sauvegardes stockées.

Logiciel de sauvegarde

Après avoir connecté le nouveau volume et créé un système de fichiers dessus, vous devez installer le logiciel requis pour la sauvegarde de la base de données. Ce logiciel s'appelle https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html. Envisagez de l'installer en utilisant les paquets d'installation prêts disponibles depuis les dépôts Percona XtraBackup.

L'installation se fait via le paquet contenant l'outil de configuration percona-release .

Tout d'abord, téléchargez ce paquet depuis les dépôts Percona XtraBackup avec la commande suivante :

L'étape suivante consiste à lancer l'installation du paquet téléchargé en utilisant l'utilitaire dpkg. Vous devez être root ou utiliser sudo pour exécuter cette commande :

Maintenant, définissez les dépôts nécessaires à cet effet :


Exception pour Debian 10

Sur Debian 10, l'étape ci-dessus renvoie une erreur :

Pour corriger cette erreur, vous devez éditer le fichier /etc/apt/sources.list

Ouvrez ce fichier dans n'importe quel éditeur de texte, c.-à-d. :

Ajoutez la ligne suivante en haut de la liste :

Le contenu du fichier ressemblera à quelque chose comme ceci :

Enregistrez les modifications du fichier puis exécutez les commandes suivantes :


Vous êtes maintenant prêt à installer l'utilitaire de sauvegarde. Pour ce faire, utilisez la commande suivante en tant que root ou avec sudo :

pour la version MySQL 5.xx :

pour les versions MySQL 8.xx inférieures ou égales à 8.0.29 :

Cela termine la procédure d'installation de l'utilitaire Percona XtraBackup.

Création de la sauvegarde

Vous allez maintenant créer une sauvegarde complète de la base de données en utilisant Percona XtraBackup.

  • la commande de sauvegarde s'exécute sur le même serveur où la base de données copiée est stockée

  • dans l'exemple ci-dessous, le volume de sauvegarde supplémentaire monté dans /mnt/backups dossier

  • un utilisateur pré-créé bkpuser avec un mot de passe s3cret est utilisé pour se connecter à la base de données

Après avoir terminé la sauvegarde, vous devez préparer la base de données copiée pour qu'elle soit opérationnelle. Sans cette opération, la base de données restera inutilisable.

Vous disposez désormais d'une copie de la base de données à jour au moment de sa création, réalisée sans arrêter le serveur et sans soulager sa charge de travail.

Cette copie de sauvegarde peut être utilisée pour restaurer votre base de données en cas d'urgence.

Mis à jour

Ce contenu vous a-t-il été utile ?