一尘不染

如何启用MySQL查询日志?

mysql

如何启用MySQL功能,该功能记录从客户端收到的每个SQL查询语句以及该查询语句提交的时间?我可以在phpmyadmin或NaviCat中做到吗?如何分析日志?


阅读 280

收藏
2020-05-17

共1个答案

一尘不染

首先, 请记住,此日志文件在繁忙的服务器上可能会变得非常大。

对于mysql <5.1.29:

要启用查询日志,把这个/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中使用此文件:

general_log_file = /path/to/query.log
general_log      = 1

或者,要从MySQL控制台打开日志记录(还必须以某种方式指定日志文件位置,或找到默认位置):

SET global general_log = 1;

还要注意,还有其他选项可以仅记录慢速查询或不使用索引的查询。

2020-05-17