Utiliser Mysqldump Gzip pour créer un fichier compressé pour une base de données MySQL

Mehvish Ashiq 30 janvier 2023
  1. Utilisez mysqldump gzip pour créer un fichier compressé pour une base de données MySQL
  2. Utilisez crontab pour automatiser les sauvegardes compressées
Utiliser Mysqldump Gzip pour créer un fichier compressé pour une base de données MySQL

Ce tutoriel guide l’utilisation de mysqldump gzip avec et sans le crontab pour effectuer des sauvegardes compressées d’une base de données MySQL spécifiée.

Utilisez mysqldump gzip pour créer un fichier compressé pour une base de données MySQL

Le mysqldump et gzip sont des utilitaires du système d’exploitation Linux. Le mysqldump est utilisé pour effectuer une sauvegarde de la base de données.

Nous utilisons le gzip comme suit si nous pouvons enregistrer la sauvegarde sous forme de fichier compressé dans le répertoire courant.

Exemple de code un :

-- Syntax: mysqldump -u username -ppassword db_name | gzip > dumpfilename.sql.gz
mysqldump -u root -p test | gzip > dump_test_db.sql.gz

Maintenant, utilisez la commande ls pour confirmer que le fichier compressé est créé. Prenons un autre exemple où les données passent par différents fichiers et sont enregistrées dans le dernier fichier.

Exemple de code deux :

-- Syntax: mysqldump -u username -ppassword db_name | gzip > file1.gz > file2.gz
mysqldump -u root -p test | gzip > file1.gz > file2.gz > file3.gz

Production:

$> ls -l
-rw-r--r--  1 root  root     0 14:35 21 May file1.gz
-rw-r--r--  1 root  root     0 14:35 21 May file2.gz
-rw-r--r--  1 root  root   453 14:35 21 May file3.gz

Dans cet exemple, le mysqldump est exécuté et la sortie générée est redirigée à l’aide du symbole pipe (|). Ensuite, le tube envoie la sortie standard dans la commande gzip en tant qu’entrée standard.

Le > est l’opérateur de redirection de sortie qui continue la redirection des données jusqu’à ce que le dernier nom de fichier soit trouvé, et ce serait le fichier où les données seront enregistrées.

Voir la sortie donnée ci-dessus ; le dernier fichier est file3, qui contient les données de taille 453, tandis que la taille de file1 et file2 est 0. Voici un guide détaillé sur les différents paramètres du gzip et leurs utilisations.

Nous pouvons également automatiser les sauvegardes compressées à l’aide de crontab. Apprenons cela dans la section suivante.

Utilisez crontab pour automatiser les sauvegardes compressées

Nous créons une tâche cron pour automatiser la procédure de prise de sauvegardes compressées de la base de données où la tâche cron exécutera la commande mysqldump à l’heure particulière que vous lui attribuerez.

Nous devons suivre les étapes pour configurer des sauvegardes compressées automatisées pour la base de données MySQL via cron job.

Étape 1 : Créez un fichier .my.cnf dans le répertoire personnel de l’utilisateur.

sudo nano ~/.my.cnf

Écrivez le texte exact comme indiqué ci-dessous.

[client]
user = db_username
password = db_password

N’oubliez pas de mettre à jour le db_username et le db_password avec vos informations d’identification. Par exemple, le nom d’utilisateur est root et le mot de passe est 12345.

Exemple de code :

[client]
user = root
password = 12345

Une fois cela fait, enregistrez et quittez le fichier.

Étape 2 : Limitez l’autorisation du fichier d’informations d’identification. De cette façon, l’utilisateur spécifié y aura accès.

$ chmod 600 ~/.my.cnf

Étape 3 : Ensuite, créez un répertoire pour stocker toutes les sauvegardes en un seul endroit.

$ mkdir ~/database_backups

Étape 4 : Ouvrez le fichier crontab maintenant.

$ crontab -e

Écrivez le travail suivant dans le fichier crontab que vous venez d’ouvrir. Il créera des sauvegardes compressées de la base de données quotidiennement à 3 heures du matin.

Dans le travail suivant, le nom d’utilisateur est le root, le nom de la base de données est le test, et le dossier database_backups stocke toutes les sauvegardes.

$ 0 3* * * /usr/bin/mysqldump -u root test | gzip > /home/root/database_backups/test-$(date +\%Y\%m\%d).gz
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook