Maison  >  Article  >  base de données  >  Quel est le fichier journal de MySQL ?

Quel est le fichier journal de MySQL ?

青灯夜游
青灯夜游original
2022-06-13 18:19:054688parcourir

MySQL dispose de quatre types de fichiers journaux : 1. Fichier journal binaire, qui enregistre diverses opérations de la base de données sous forme binaire, mais n'enregistre pas les instructions de requête ; 2. Fichier journal d'erreurs, qui enregistre principalement le processus de démarrage et d'arrêt du processus. Informations sur le serveur MySQL dans le serveur, pannes et situations anormales qui se produisent pendant le fonctionnement du serveur, etc. 3. Fichiers journaux de requêtes générales, enregistrement des informations de démarrage et d'arrêt du serveur, informations de connexion client, mises à jour, instructions SQL pour les enregistrements de données de requête, etc.; 4. Interrogation lente du fichier journal, enregistrant principalement les opérations dont les événements d'exécution dépassent le temps spécifié.

Quel est le fichier journal de MySQL ?

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Le journal est une partie importante de la base de données et est principalement utilisé pour enregistrer l'état de fonctionnement, les opérations quotidiennes et les informations sur les erreurs de la base de données.

Dans MySQL, les fichiers journaux peuvent être divisés en 4 types : les fichiers journaux binaires, les fichiers journaux d'erreurs, les fichiers journaux de requêtes générales et les fichiers journaux de requêtes lentes.

  • Fichier journal binaire : ce fichier journal enregistre diverses opérations de la base de données sous forme binaire, mais n'enregistre pas les instructions de requête. Il est principalement utilisé pour enregistrer les modifications dans la base de données, c'est-à-dire les instructions DDL et DML des instructions SQL, et n'inclut pas les opérations de requête d'enregistrement de données.

  • Fichier journal des erreurs : enregistre principalement les informations lors du processus de démarrage et d'arrêt du serveur MySQL, les pannes et exceptions qui se produisent pendant le fonctionnement du serveur, etc.

  • Fichier journal des requêtes générales : ce journal enregistre les informations de démarrage et d'arrêt du serveur MySQL, les informations de connexion client, les mises à jour, les instructions SQL pour interroger les enregistrements de données, etc.

  • Fichier journal des requêtes lentes : enregistre les opérations dont les événements d'exécution dépassent la durée spécifiée. En analysant le journal des requêtes lentes avec des outils, vous pouvez localiser le goulot d'étranglement des performances du serveur MySQL.

Parmi les fichiers journaux pris en charge par MySQL, à l'exception des fichiers journaux binaires, les autres fichiers journaux sont des fichiers texte. Par défaut, MySQL démarre uniquement le fichier journal des erreurs et les autres journaux doivent être démarrés manuellement.

L'utilisation des journaux présente des avantages et des inconvénients. Une fois la journalisation activée, bien que les performances du serveur MySQL puissent être maintenues, cela réduira la vitesse d'exécution de MySQL. Par exemple, dans un MySQL avec des opérations de requêtes fréquentes, l'enregistrement des journaux de requêtes générales et des journaux de requêtes lentes prendra beaucoup de temps.

Les fichiers journaux occupent également beaucoup d'espace sur le disque dur. Pour les bases de données comportant un très grand nombre d'utilisateurs et des opérations très fréquentes, l'espace de stockage requis pour les fichiers journaux est encore plus grand que celui requis pour les fichiers de base de données. Par conséquent, l’activation ou non des journaux et le type de journaux à activer dépendent de l’application spécifique.

Connaissances étendues : MySQL utilise des journaux binaires pour restaurer la base de données

Le journal binaire enregistre toutes les opérations de l'utilisateur sur les modifications de la base de données, telles que les instructions INSERT, UPDATE, CREATE, etc. Si la base de données perd des données en raison d'un fonctionnement incorrect ou pour d'autres raisons, vous pouvez utiliser le journal binaire pour afficher les opérations des utilisateurs au cours d'une certaine période et restaurer la base de données en combinaison avec une sauvegarde de la base de données.

Ce qui suit présentera en détail comment restaurer la base de données à l'aide de journaux binaires.

Lorsque la base de données est accidentellement endommagée, vous devez d'abord utiliser le fichier de sauvegarde le plus récent pour restaurer la base de données. De plus, après la sauvegarde, la base de données peut avoir été mise à jour et le journal binaire peut être utilisé pour la restaurer. Parce que le journal binaire stocke les instructions qui mettent à jour la base de données, telles que les instructions UPDATE, INSERT, etc.

La commande pour restaurer la base de données à partir du journal binaire est la suivante :

mysqlbinlog filename.number | mysql -u root -p

La commande ci-dessus peut être comprise comme utilisant d'abord la commande mysqlbinlog pour lire le contenu de filename.number, puis en utilisant la commande mysql pour restaurer le contenu à la base de données.

Astuce : Bien que le journal binaire puisse être utilisé pour restaurer la base de données MySQL, il prend également beaucoup d'espace disque. Par conséquent, après avoir sauvegardé la base de données MySQL, les journaux binaires avant la sauvegarde doivent être supprimés. Si une exception se produit après la sauvegarde, entraînant une perte de données de la base de données, elle peut être restaurée via le journal binaire après la sauvegarde.

Lorsque vous utilisez la commande mysqlbinlog pour effectuer une opération de restauration, celle avec le plus petit numéro doit être restaurée en premier. Par exemple, mylog.000001 doit être restauré avant mylog.000002.

Exemple 1

Ce qui suit utilise des journaux binaires pour restaurer la base de données. Le code est le suivant :

mysqlbinlog mylog.000001 | mysql -u root -p
mysqlbinlog mylog.000002 | mysql -u root -p
mysqlbinlog mylog.000003 | mysql -u root -p
mysqlbinlog mylog.000004 | mysql -u root -p

[Recommandations associées : Tutoriel vidéo mysql]

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