問題描述
如何啟用記錄從客戶端收到的每個SQL查詢語句以及查詢語句提交時間的MySQL功能?我可以在 phpmyadmin 或 NaviCat 中這樣做嗎?如何分析日志?
How do I enable the MySQL function that logs each SQL query statement received from clients and the time that query statement has submitted? Can I do that in phpmyadmin or NaviCat? How do I analyse the log?
推薦答案
首先,請記住,此日志文件在繁忙的服務器上可能會變得非常大.
對于 mysql <5.1.29:
要啟用查詢?nèi)罩荆垖⑵浞旁?code>[mysqld]部分的/etc/my.cnf
To enable the query log, put this in /etc/my.cnf
in the [mysqld]
section
log = /path/to/query.log #works for mysql < 5.1.29
另外,從 MySQL 控制臺啟用它
Also, to enable it from MySQL console
SET general_log = 1;
參見 http://dev.mysql.com/doc/refman/5.1/en/query-log.html
對于 mysql 5.1.29+
在 mysql 5.1.29+ 中,不推薦使用 log
選項.要指定日志文件并啟用日志記錄,請在 [mysqld]
部分的 my.cnf 中使用它:
With mysql 5.1.29+ , the log
option is deprecated. To specify the logfile and enable logging, use this in my.cnf in the [mysqld]
section:
general_log_file = /path/to/query.log
general_log = 1
或者,從 MySQL 控制臺打開日志記錄(還必須以某種方式指定日志文件位置,或找到默認位置):
Alternately, to turn on logging from MySQL console (must also specify log file location somehow, or find the default location):
SET global general_log = 1;
另請注意,還有其他選項可以僅記錄慢速查詢或不使用索引的查詢.
Also note that there are additional options to log only slow queries, or those which do not use indexes.
這篇關于如何啟用 MySQL 查詢?nèi)罩?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!