Heim  >  Artikel  >  Datenbank  >  Einführung in error_log in MySQL

Einführung in error_log in MySQL

一个新手
一个新手Original
2017-09-08 10:09:101680Durchsuche


Einführung in MySQL-Protokolltypen

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.

error_log

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

Konfigurationsmethode

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

Beispiel

  • 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 &#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

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn