Maison > Article > base de données > Introduction à error_log dans 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.
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.
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-output
Lorsque 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
<br>--log-output=TABLE,FILE --error_log
Activez la journalisation des erreurs et enregistrez les fichiers journaux dans les tables de base de données et les fichiers journaux :
--log-output=TABLE --general_log --slow_query_log
Activez 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.log
Activez le journal des requêtes lentes, enregistrez-les dans le fichier journal et définissez le chemin de sortie :
mysql> show variables like 'log_error'; +---------------+---------------------+| 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] - '::' resolves to '::'; 2017-08-07T12:32:54.258908Z 0 [Note] Server socket created on IP: '::'. 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: '5.7.19' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL) 2017-08-07T12:32:54.266772Z 0 [Note] Executing 'SELECT * FROM INFORMATION_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' 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!