MySQL-Protokolle können grob in drei Typen unterteilt werden: Fehlerprotokoll (error_log), Abfrageprotokoll (query_log) und Binärprotokoll (binary_log). ):
Abfrageprotokoll (Abfrageprotokoll): Im Allgemeinen kann das Abfrageprotokoll in zwei Typen unterteilt werden: allgemeines Abfrageprotokoll (allgemeines Abfrageprotokoll) und langsames Abfrageprotokoll (langsames Abfrageprotokoll); darunter das allgemeine Abfrageprotokoll. Das Abfrageprotokoll kann verwendet werden, um relevante Informationen zu jeder Clientverbindung zu erhalten, und das langsame Abfrageprotokoll zeichnet Anweisungen auf, deren SQL-Anweisungszeit die voreingestellte long_query_time überschreitet Anhand der Daten können Sie sehen, welche Anweisungen im langsamen Abfrageprotokoll optimiert werden müssen.
Binärprotokoll (binary_log): Einfach ausgedrückt, zeichnet das Binärprotokoll den Vorgang von MySQL-Updates auf. Der Hauptzweck besteht darin, die Datenbank so weit wie möglich bis zum Zeitpunkt des Datenbankausfalls wiederherzustellen. weil das Binärprotokoll alle nach der Sicherung vorgenommenen Aktualisierungen enthält.
Die drei Protokolltypen haben unterschiedliche Funktionen und erfordern unterschiedliche Konfigurationsmethoden. Hier werden wir zunächst über die Konfigurationsmethode des gewöhnlichen Fehlerprotokolls sprechen und die anderen beiden hinzufügen die Zukunft.
Ähnlich wie bei der Warnung in Oracle wird das Fehlerprotokoll von MySQL zum Aufzeichnen von Fehlerinformationen verwendet. Fehler werden jedoch nicht nur Fehlerinformationen, sondern auch Fehlerinformationen über den Dienstprozess protokolliert (kritisch). Wenn der mysqld-Prozess feststellt, dass einige Tabellen automatisch überprüft oder repariert werden müssen, werden relevante Informationen ebenfalls in das Protokoll geworfen.
1. Suchen Sie die Konfigurationsdatei /etc/my.cnf
, falls nicht gefunden find / -type f -name 'my.cnf'
suchen Sie global
2 Schreiben Sie die Fehlerprotokollparameter in die Konfigurationsdatei
[mysqld_safe]log-error=/var/lib/mysql/mysql.err
3. Eine andere Methode
Wenn MySQL über die Befehlszeile gestartet wird, können Sie die Protokollladeparameter --log-output
hinzufügen, wobei --log-output
drei optionale Parameter zur Angabe der Protokolldatei vorhanden sind Ausgabemethode:
- TABLE: Protokoll in der Datenbanktabelle aufzeichnen
- FILE: Protokoll in der Datei aufzeichnen
- NONE: Nicht aufzeichnen
Fehlerprotokollierung aktivieren und Protokolldateien in Datenbanktabellen und Protokolldateien aufzeichnen: <code> <br>--log-output=TABLE,FILE --error_log
--log-output=TABLE,FILE --error_log
Aktivieren Sie das langsame Abfrageprotokoll und das normale Abfrageprotokoll und zeichnen Sie deren Protokolle in der Tabelle auf: --log-output=TABLE --general_log --slow_query_log
Aktivieren Sie das langsame Abfrageprotokoll, zeichnen Sie sie in der Protokolldatei auf und legen Sie fest der Ausgabepfad: --log-output=FILE --slow_query_log --slow_query_log_file=/var/lib/mysql/- mysql_slow.log
Nach erfolgreicher Einstellung geben Sie zur Ansicht ein:
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
Das obige ist der detaillierte Inhalt vonEinführung in error_log in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!