Antworten:
[mysqld]
# Set Slow Query Log
long_query_time = 1
slow_query_log = 1
slow_query_log_file = /usr/log/slowquery.log
log_queries_not_using_indexes = 1
#Set General Log
general_log = on
general_log_file=/usr/log/general.log
Beachten Sie, dass die Aktivierung general_log
auf einem Produktionsserver mit einem Mehraufwand verbunden ist, den Sie vermeiden sollten. Sie können problematische Abfragen von überprüfen slow log
.
general_log
und general_log_file
ist genug.
Da dies die Art von Dingen ist, die Sie wahrscheinlich nur vorübergehend ausführen möchten, kann es nützlich sein, dies nicht über die Konfigurationsdatei, sondern über die Shell zu tun:
> set global general_log_file = "/var/log/mysql/queries.log";
> set global general_log = "ON";
[wait some time, hit some pages, whatever]
> set global general_log = "OFF";
Fügen Sie diese beiden Zeilen in my.cnf ein.
[mysqld]
general_log = on
general_log_file=/users/ugrad/linehanp/mydb/logfile.txt
Dadurch werden alle Abfragen auf dem Server protokolliert , nicht nur von PHP / PHPMyAdmin.
Seien Sie jedoch vorsichtig - das Aktivieren des allgemeinen Protokolls kann Ihren Server stark belasten. Nur sparsam für kurze Zeiträume / zum Debuggen verwenden.
Die Dokumentation finden Sie hier . Dort angekommen:
Verwenden Sie die globalen Systemvariablen general_log und general_log_file, um das allgemeine Abfrageprotokoll zu deaktivieren oder zu aktivieren oder den Namen der Protokolldatei zur Laufzeit zu ändern. Setzen Sie general_log auf 0 (oder OFF), um das Protokoll zu deaktivieren, oder auf 1 (oder ON), um es zu aktivieren. Legen Sie general_log_file fest, um den Namen der Protokolldatei anzugeben.
So,
general_log = on
und
general_log = 1
sind Synonyme!