Lokalizacja dziennika błędów?

15

Czy MySQL zapisuje plik dziennika? Jeśli tak, jaka jest ścieżka (w Ubuntu / Linux)?

Maulik Patel
źródło

Odpowiedzi:

11
  • Dziennik ogólny - wszystkie zapytania - patrz ZMIENNY general_log
  • Slow log - zapytania wolniejsze niż long_query_time-slow_query_log_file
  • Binlog - do replikacji i tworzenia kopii zapasowych - log_bin_basename
  • Dziennik przekazywania - również do replikacji
  • ogólne błędy - mysqld.err
  • start / stop - mysql.log(niezbyt interesujące) -log_error
  • Dziennik ponownych InnoDB - iblog*

Zobacz zmienną basediri datadirdomyślną lokalizację dla wielu dzienników

Niektóre dzienniki są włączane / wyłączane przez inne ZMIENNE. Niektóre są zapisywane w pliku lub w tabeli.

Rick James
źródło
3

Dzienniki MySQL są określane przez zmienne globalne, takie jak:

  • log_error dla dziennika komunikatów o błędach;
  • general_log_filedla ogólnego pliku dziennika zapytań (jeśli włączony przez general_log);
  • slow_query_log_filedla pliku dziennika powolnego zapytania (jeśli włączone przez slow_query_log);

Aby zobaczyć ustawienia i lokalizacje dzienników, uruchom następujące polecenie powłoki:

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

Dziękuję @kenorb na /programming//a/37685324/470749

Ryan
źródło
2

Tak, MySQL zapisuje plik dziennika.

Jego ścieżka jest /var/log/mysql.logzdefiniowana w log_errorzmiennej config.

Istnieje również plik dziennika błędów /var/log/mysql.err

Brijesh Goswami
źródło
2

Poza dziennikiem błędów w systemie Windows żaden dziennik MySQL nie jest włączony. Ma to na celu maksymalizację zasobów serwera dla bazy danych. Z tego powodu wskazane jest aktywowanie ich w razie potrzeby.

Może to również utrudnić ustalenie, które dzienniki są włączone w danym momencie. Z tego powodu lubię mieć wszystkie moje zmienne config w jednym miejscu, aby móc je szybko wyszukać. Istnieje kilka narzędzi GUI, które są do tego odpowiednie. Osobiście używam Navicat dla MySQL i Navicat Premium .

Oba mają narzędzie do monitorowania, które zawiera kartę ze wszystkimi zmiennymi serwera na jednej obszernej liście.

Zmienne serwera general_log i general_log_file w narzędziu Navicat Server Monitor

Z poważaniem!

Rob Gravelle
źródło
Niestety, ustawi to wartość tylko do następnego uruchomienia. OTOH, Dziennik Ogólny to spory dysk, więc ogólnie dobrze jest go wyłączyć zaraz po uzyskaniu potrzebnych informacji. (Inne dzienniki można prawdopodobnie pozostawić WŁĄCZONE.)
Rick James
1

Uruchom poniżej polecenia na terminalu, aby znaleźć dokładną ścieżkę:

 mysqladmin variables | grep log_error
Sachin Singh
źródło
1

Pliki dziennika zazwyczaj znajdują się w /var/log/. Pliki dziennika serwera MySQL są zwykle identyfikowane przez mysql.nameOfLogFile.

Zabijaka
źródło
1

Trochę późno tutaj

Bieżącą lokalizację pliku dziennika można znaleźć w MYSQL, sprawdzając zmienne globalne.

Na przykład poniżej pokaże, czy twój dziennik_ogólny jest włączony, czy wyłączony, a lokalizacja pliku_ogólny_log w twoim systemie.

SHOW GLOBAL VARIABLES LIKE '%general%';
Jon
źródło