it-swarm.com.de

Speicherort des Fehlerprotokolls?

Schreibt MySQL eine Protokolldatei? Wenn ja, wie lautet der Pfad (unter Ubuntu/Linux)?

15
Maulik Patel
  • Allgemeines Protokoll - alle Abfragen - siehe VARIABLE general_log
  • Langsame Protokollabfragen langsamer als long_query_time - slow_query_log_file
  • Binlog - für Replikation und Sicherung - log_bin_basename
  • Relaisprotokoll - auch zur Replikation
  • allgemeine Fehler - mysqld.err
  • start stop - mysql.log (nicht sehr interessant) - log_error
  • InnoDB Redo Log - iblog*

In der Variablen basedir und datadir finden Sie den Standardspeicherort für viele Protokolle

Einige Protokolle werden von anderen VARIABLEN ein- und ausgeschaltet. Einige werden entweder in eine Datei oder in eine Tabelle geschrieben.

11
Rick James

Die MySQL-Protokolle werden durch die globalen Variablen bestimmt, wie z.

  • log_error für das Fehlermeldungsprotokoll;
  • general_log_file für die allgemeine Abfrageprotokolldatei (falls aktiviert durch general_log);
  • slow_query_log_file für die langsame Abfrageprotokolldatei (falls aktiviert durch slow_query_log);

Führen Sie den folgenden Shell-Befehl aus, um die Einstellungen und die Speicherorte der Protokolle anzuzeigen:

mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log

Vielen Dank an @kenorb unter https://stackoverflow.com/a/37685324/470749

3
Ryan

Außer dem Fehlerprotokoll unter Windows ist keines der MySQL-Protokolle aktiviert. Dies dient zur Maximierung der Serverressourcen für die Datenbank. Aus diesem Grund ist es ratsam, sie nach Bedarf zu aktivieren.

Dies kann es auch schwierig machen zu wissen, welche Protokolle zu einem bestimmten Zeitpunkt aktiviert sind. Aus diesem Grund möchte ich alle meine Konfigurationsvariablen an einem Ort haben, damit ich sie schnell nachschlagen kann. Es gibt einige GUI-Tools, die dafür gut sind. Ich persönlich benutze Navicat für MySQL und Navicat Premium .

Beide haben ein Überwachungstool, das eine Registerkarte mit allen Servervariablen in einer umfassenden Liste enthält.

(general_log and general_log_file server variables in the Navicat Server Monitor tool

Freundliche Grüße!

2
Rob Gravelle

Ja, MySQL schreibt eine Protokolldatei.

Sein Weg ist /var/log/mysql.log, definiert in log_error Konfigurationsvariable.

Es gibt auch eine Protokolldatei für Fehler /var/log/mysql.err

2
Brijesh Goswami

Ein bisschen spät hier,

Sie können den aktuellen Speicherort der Protokolldatei in MYSQL finden, indem Sie die globalen Variablen überprüfen.

Im Folgenden wird beispielsweise angezeigt, ob Ihr general_log aktiviert oder deaktiviert ist und wo sich die Datei general_log_file auf Ihrem System befindet.

SHOW GLOBAL VARIABLES LIKE '%general%';
1
Jon

Führen Sie den folgenden Befehl auf dem Terminal aus, um den genauen Pfad zu ermitteln:

 mysqladmin variables | grep log_error
1
Sachin Singh

Protokolldateien befinden sich normalerweise unter /var/log/. MySQL-Server-Protokolldateien werden normalerweise durch mysql.nameOfLogFile identifiziert.

1
Hector