Maison  >  Article  >  base de données  >  Introduction à error_log dans MySQL

Introduction à error_log dans MySQL

一个新手
一个新手original
2017-09-08 10:09:101692parcourir


Introduction aux types de journaux MySQL

Les journaux MySQL peuvent être grossièrement divisés en trois types : le journal des erreurs (error_log), le journal des requêtes (query_log) et le journal binaire (binary_log ):

  • Journal des requêtes (journal des requêtes) : Généralement, le journal des requêtes peut être divisé en deux types, le journal des requêtes général (journal des requêtes générales) et le journal des requêtes lentes (journal des requêtes lent) ; parmi eux, le journal des requêtes générales. Le journal des requêtes peut être utilisé pour obtenir des informations pertinentes sur chaque connexion client et les instructions SQL exécutées sur la base de données ; le journal des requêtes lentes enregistre les instructions dont la durée de l'instruction SQL dépasse le long_query_time prédéfini. de données, vous pouvez voir Vérifier quelles instructions du journal des requêtes lentes doivent être optimisées.

  • Journal binaire (binary_log) : En termes simples, le journal binaire enregistre le fonctionnement des mises à jour MySQL. L'objectif principal est de restaurer autant que possible la base de données jusqu'au point de défaillance de la base de données. car le journal binaire contient toutes les mises à jour effectuées après la sauvegarde.

Les trois types de journaux ont des fonctions différentes et nécessitent des méthodes de configuration différentes. Ici, nous parlerons d'abord de la méthode de configuration du journal d'erreurs ordinaire, et les deux autres seront ajoutés. l'avenir.

error_log

Semblable à l'alerte dans Oracle, le journal des erreurs de MySQL est utilisé pour enregistrer les informations sur les erreurs, mais les erreurs enregistrent non seulement les informations sur les erreurs, mais également les informations sur les erreurs sur le processus de service. Être enregistré (critique. niveau); si le processus mysqld constate que certaines tables doivent être automatiquement vérifiées ou réparées, les informations pertinentes seront également renvoyées dans le journal.

Méthode de configuration

1. Recherchez le fichier de configuration /etc/my.cnf, s'il n'est pas trouvé find / -type f -name 'my.cnf' recherchez globalement

2. Écrivez les paramètres du journal des erreurs dans le fichier de configuration

[mysqld_safe]log-error=/var/lib/mysql/mysql.err
. 🎜>


3. Une autre méthode--log-outputLorsque MySQL est démarré à partir de la ligne de commande, vous pouvez ajouter les paramètres de chargement du journal --log-output, dans lesquels
il y a trois paramètres facultatifs pour spécifier le fichier journal. Méthode de sortie :
- TABLE : Enregistrer le journal dans la table de la base de données
- FILE : Enregistrer le journal dans le fichier

- NONE : Ne pas enregistrer

Exemple
  • <br>--log-output=TABLE,FILE --error_logActivez la journalisation des erreurs et enregistrez les fichiers journaux dans les tables de base de données et les fichiers journaux :

    --log-output=TABLE,FILE --error_log
  • --log-output=TABLE --general_log --slow_query_logActivez le journal des requêtes lentes et le journal des requêtes normales, et enregistrez leurs journaux dans le tableau :

  • --log-output=FILE --slow_query_log --slow_query_log_file=/var/lib/mysql/- mysql_slow.logActivez le journal des requêtes lentes, enregistrez-les dans le fichier journal et définissez le chemin de sortie :

Une fois le réglage réussi, entrez pour afficher :
mysql> show variables like &#39;log_error&#39;;
+---------------+---------------------+| Variable_name | Value               |
+---------------+---------------------+| log_error     | /var/log/mysqld.log |
+---------------+---------------------+1 row in set (0.00 sec)

[root@localhost mysql]# tailf /var/log/mysqld.log
2017-08-07T12:32:54.258884Z 0 [Note] IPv6 is available.
2017-08-07T12:32:54.258892Z 0 [Note]   - &#39;::&#39; resolves to &#39;::&#39;;
2017-08-07T12:32:54.258908Z 0 [Note] Server socket created on IP: &#39;::&#39;.
2017-08-07T12:32:54.259622Z 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2017-08-07T12:32:54.260814Z 0 [Note] InnoDB: Buffer pool(s) load completed at 170807  8:32:54
2017-08-07T12:32:54.266749Z 0 [Note] /usr/sbin/mysqld: ready for connections.
Version: &#39;5.7.19&#39;  socket: &#39;/var/lib/mysql/mysql.sock&#39;  port: 3306  MySQL Community Server (GPL)
2017-08-07T12:32:54.266772Z 0 [Note] Executing &#39;SELECT * FROM INFORMATION_SCHEMA.TABLES;&#39; to get a list of tables using the deprecated partition engine. You may use the startup option &#39;--disable-partition-engine-check&#39; to skip this check. 
2017-08-07T12:32:54.266774Z 0 [Note] Beginning of list of non-natively partitioned tables
2017-08-07T12:32:54.318211Z 0 [Note] End of list of non-natively partitioned tables

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