打开MySQL慢查询
MySQL慢查询记录日志对于跟踪PHP+MySQL体系下的MySQL负载调优问题很有用处,比如安装了很多Discuz!插件的用户,这样可以大概排查出那些插件有代码问题。其实启用MySQL的慢查询日志很简单,只需要在MySQL的配置文件里添加log-slow-queries和long_query_time两个参数即可。
Windows下开启MySQL慢查询
代码如下 | 复制代码 |
MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上 |
Linux下启用MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.cnf找到[mysqld]下面加上
代码如下 | 复制代码 |
log-slow-queries=/data/mysqldata/slowquery.log long_query_time=2 |
注意
log-slow-queries = F:/MySQL/log/mysqlslowquery.log为慢查询日志存放的位置,一般这个目录要有MySQL的运行帐号的可写权限,一般都将这个目录设置为MySQL的数据存放目录;
long_query_time=2中的2表示查询超过两秒才记录;
2009年09月24日更新
在my.cnf或者my.ini中添加log-queries-not-using-indexes参数,表示记录下没有使用索引的查询。比如:
代码如下 | 复制代码 |
log-slow-queries=/data/mysqldata/slowquery.log long_query_time=2 log-queries-not-using-indexes |
今天我在开启MYSQL慢查询的时候,MYSQL服务死活不能启动,报错:
[ERROR] MySQL: unknown variable 'log-slow-queries=D:/ProgramData/MySQL/phpec_org-slow.log'
半天找不到原因,后面经过不断百度,发现原来MYSQL5.6版以上已经取消了log-slow-queries这个参数,改为slow-query-log-file即可。