How to Log All mysql queries into log file?
[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
Note that enabling general_log
on a production server has overhead you should avoid it. You can check problematic queries from slow log
.
Since this is the type of thing you probably only want to do temporarily, it may be useful to do this from the shell instead of via the config file:
> 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";
Put these two lines in my.cnf.
[mysqld]
general_log = on
general_log_file=/users/ugrad/linehanp/mydb/logfile.txt
This will log all queries to the server, from any source, not just PHP/PHPMyAdmin.
Be careful though - enabling the general log can place a heavy load on your server. To be used sparingly for short periods/debugging only.
The documentation is available here. Fro there:
To disable or enable the general query log or change the log file name at runtime, use the global general_log and general_log_file system variables. Set general_log to 0 (or OFF) to disable the log or to 1 (or ON) to enable it. Set general_log_file to specify the name of the log file.
So,
general_log = on
and
general_log = 1
are synonyms!