Maison >base de données >tutoriel mysql >Technologie de sauvegarde par compression de données dans MySQL
À mesure que la quantité de données continue d'augmenter, la sauvegarde des bases de données devient de plus en plus difficile. La sauvegarde nécessite non seulement l'intégrité et la cohérence des données, mais nécessite également une vitesse de sauvegarde et une taille de fichier de sauvegarde pour répondre aux besoins réels. La technologie de sauvegarde par compression des données a émergé au fur et à mesure que les temps l’exigent et est devenue l’un des moyens techniques indispensables pour la sauvegarde des bases de données.
MySQL est actuellement l'une des bases de données relationnelles les plus populaires. Son outil de sauvegarde officiel mysqldump ne peut pas répondre aux besoins de sauvegarde compressée. Par conséquent, cet article présentera le processus détaillé d'utilisation des commandes de compression tar et gzip sur les systèmes Linux avec les paramètres appropriés pour réaliser une sauvegarde compressée MySQL.
Sur les systèmes Linux, tar est une commande de compression très couramment utilisée. Son utilisation est la suivante :
tar [cxtzJvfpP] [name-of-archive] [files-or-directories-to-archive]
Parmi eux, la signification de chaque paramètre est la suivante :
Ce que nous voulons utiliser ici, c'est le paramètre czf, ce qui signifie créer un nouveau package tar, le compresser avec gzip et afficher le nom du fichier lors du traitement du fichier. La commande spécifique est la suivante :
tar czf backup.tar.gz /path/to/backup/files/
Parmi elles, /path/to/backup/files/ précise les fichiers ou répertoires à sauvegarder.
Avant de sauvegarder MySQL, vous devez créer un utilisateur avec les autorisations SELECT, SHOW VIEW, RELOAD, SUPER et LOCK TABLES. En prenant l'utilisateur root comme exemple, vous pouvez utiliser la commande suivante pour créer un utilisateur de sauvegarde :
CREATE USER 'backupuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT SELECT, SHOW VIEW, RELOAD, SUPER, LOCK TABLES ON *.* TO 'backupuser'@'localhost'; FLUSH PRIVILEGES;
Ensuite, vous pouvez utiliser la commande suivante pour sauvegarder la base de données :
mysqldump -u backupuser -p'mypassword' --single-transaction --skip-lock-tables dbname | gzip > backup.sql.gz
Parmi eux, les --single-transaction et Les paramètres --skip-lock-tables correspondent respectivement aux transactions MySQL et aux paramètres de sauvegarde du verrouillage des tables. dbname représente le nom de la base de données à sauvegarder et backup.sql.gz est le nom complet du fichier enregistré après la sauvegarde.
Dans les applications pratiques, la sauvegarde automatisée est la méthode de sauvegarde la plus courante et la plus fiable. Sous le système Linux, vous pouvez utiliser la commande crontab pour exécuter régulièrement la commande de sauvegarde et enregistrer le fichier de sauvegarde dans le répertoire spécifié. Voici un exemple d'exécution d'une sauvegarde à 1 heure du matin tous les jours :
0 1 * * * tar czf /backup/dbbackup-`date +%Y-%m-%d`.tar.gz /path/to/backup/files/ && mysqldump -u backupuser -p'mypassword' --single-transaction --skip-lock-tables dbname | gzip > /backup/backup-`date +%Y-%m-%d`.sql.gz
Parmi eux, %Y représente l'année, %m représente le mois et %d représente la date. La commande dans les backticks créera automatiquement une nouvelle. nom du fichier de sauvegarde en fonction des informations de date.
Lorsque vous devez restaurer la base de données, vous pouvez utiliser la commande suivante :
gunzip backup.sql.gz
Extraire le fichier de sauvegarde et obtenir le fichier de sauvegarde au format .sql. Ensuite, importez ce fichier dans la base de données MySQL :
mysql -u root -p dbname < backup.sql
Parmi eux, dbname représente le nom de la base de données où les données doivent être restaurées.
Cet article présente le processus détaillé d'utilisation de tar et gzip combiné avec les paramètres appropriés pour implémenter la sauvegarde MySQL sous le système Linux. Grâce à la sauvegarde automatisée, la gestion des sauvegardes peut être considérablement simplifiée, l'efficacité et la fiabilité de la récupération des données peuvent être améliorées et les utilisateurs peuvent mieux protéger la sécurité des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!