MySQL如何开启记录从客户端收到的每条SQL查询语句和提交时间的功能? 我可以在phpmyadmin或NaviCat中这样做吗? 如何分析日志?
当前回答
对于mysql>=5.5仅用于慢查询(1秒或更长时间) my.cfg
[mysqld]
slow-query-log = 1
slow-query-log-file = /var/log/mysql/mysql-slow.log
long_query_time = 1
log-queries-not-using-indexes
其他回答
我还想让MySQL日志文件看到查询,我已经解决了这个问题与下面的说明
进入/etc/mysql/mysql.conf.d 打开mysqld.cnf . conf文件
并启用下面的行
general_log_file = /var/log/mysql/mysql.log
general_log = 1
使用/etc/init.重启MySQLd / mysql重启 进入/var/log/mysql/,检查日志
在phpMyAdmin 4.0,你去状态>监视器。在那里,您可以启用慢查询日志和常规日志,查看实时监视器,选择图表的一部分,查看相关查询并分析它们。
在Windows上,你可以简单地转到
C:\wamp\bin\mysql\mysql5.1.53\my.ini
在my.ini中插入这一行
general_log_file = c:/wamp/logs/mysql_query_log.log
my.ini文件最终看起来像这样
...
...
...
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
basedir=c:/wamp/bin/mysql/mysql5.1.53
log = c:/wamp/logs/mysql_query_log.log #dump query logs in this file
log-error=c:/wamp/logs/mysql.log
datadir=c:/wamp/bin/mysql/mysql5.1.53/data
...
...
...
...
对于mysql>=5.5仅用于慢查询(1秒或更长时间) my.cfg
[mysqld]
slow-query-log = 1
slow-query-log-file = /var/log/mysql/mysql-slow.log
long_query_time = 1
log-queries-not-using-indexes
开启MAC Machine查询日志功能。
打开以下文件:
vi /private/etc/my.cnf
设置'mysqld'节下的查询日志url,如下所示:
[mysqld]
general_log_file=/Users/kumanan/Documents/mysql_query.log
很少有机器不能正确地记录查询,所以你可以从MySQL控制台启用它
mysql> SET global general_log = 1;