Utiliser Mysqldump Gzip pour créer un fichier compressé pour une base de données MySQL
-
Utilisez
mysqldump gzip
pour créer un fichier compressé pour une base de données MySQL -
Utilisez
crontab
pour automatiser les sauvegardes compressées
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