Maison >base de données >tutoriel mysql >Technologie de sauvegarde par compression de données dans MySQL

Technologie de sauvegarde par compression de données dans MySQL

王林
王林original
2023-06-15 17:23:211846parcourir

À 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.

  1. Commande de sauvegarde par compression

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 :

  • c : Créer une nouvelle archive
  • x : Extraire les fichiers de l'archive
  • t : Lister la liste des fichiers dans ; l'archive ;
  • z : Passer gzip compresse/décompresse les archives ;
  • j : compresse/décompresse les archives via bzip2 ;
  • v : affiche le nom du fichier lors du traitement du fichier ;
  • f : utilise le nom du fichier d'archive ; il doit y avoir un espace après f ;
  • p : conserver les autorisations et attributs d'origine du fichier ;
  • P : ne pas utiliser de chemins absolus, conserver les chemins relatifs
  • name-of-archive : spécifier le nom du fichier compressé ;
  • fichiers ou répertoires à archiver : spécifiez les fichiers ou répertoires à compresser.

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.

  1. Commande de sauvegarde MySQL

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.

  1. Sauvegarde automatisée

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.

  1. Restaurer la sauvegarde

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.

  1. Résumé

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn