如何启用MySQL功能,该功能记录从客户端收到的每个SQL查询语句以及该查询语句提交的时间?我可以在phpmyadmin或NaviCat中做到吗?如何分析日志?
首先, 请记住,此日志文件在繁忙的服务器上可能会变得非常大。
对于mysql <5.1.29:
要启用查询日志,把这个/etc/my.cnf在[mysqld]节
/etc/my.cnf
[mysqld]
log = /path/to/query.log #works for mysql < 5.1.29
另外,从MySQL控制台启用它
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中使用此文件:
log
general_log_file = /path/to/query.log general_log = 1
或者,要从MySQL控制台打开日志记录(还必须以某种方式指定日志文件位置,或找到默认位置):
SET global general_log = 1;
还要注意,还有其他选项可以仅记录慢速查询或不使用索引的查询。