1、需要更改的配置文件
如果是window 环境的话,在mysql server 安装目录下找到my.ini 文件,然后将配置添加进去即可,具体可参照Linux的配置。
如果是Linux版的话,首先去找my.cnf文件,并不在安装目录下,一般都在/etc 下面。
2、修改配置文件
以Linux为例,打开my.cnf,找到[mysqld]的配置不是[mysql]的配置,然后在下面加上两句话
log-slow-queries=/usr/data/mysqlslowlog/slowquery.log
long_query_time=2
其中路径是我亲自建的,不知道是否系统会自己创建,log文件,系统会自动创建。
3、重启 mysql 服务 service mysql restart
4、查看配置是否生效
可在mysql 命令行上打上 命令
show variables like '%quer%';
查看 log-slow-queries 是否为on;
接着去看刚才的log日志是否自动创建了,如果有,说明创建成功了。
5、校验是否可以记录大于自己设定的多少秒的语句(我设定的为两秒)
在mysql命令行输入 select sleep(2); 执行
去log日志中查看是否记录上。记录上说明配置生效了。
由于log日志记录的文件不便于阅读,所以需要借助工具进行查看。
可以通过mysql自带的命令mysqldumpslow 。(该命令是在Linux下执行的,而不是在mysql命令行下)
常用参数说明:
分析日志,可用mysql提供的mysqldumpslow,使用很简单,参数可–help查看
# -s:排序方式。c , t , l , r 表示记录次数、时间、查询时间的多少、返回的记录数排序; # ac , at , al , ar 表示相应的倒叙; # -t:返回前面多少条的数据; # -g:包含什么,大小写不敏感的; mysqldumpslow -s r -t 10 /usr/data/mysqlslowlog/slowquery.log #slow记录最多的10个语句 mysqldumpslow -s t -t 10 -g "left join" /usr/data/mysqlslowlog/slowquery.log #按照时间排序前10中含有"left join"的
还有朋友推荐用mysqlsla,需要下载安装,还未尝试。
参考文档:http://www.2cto.com/database/201207/143358.html
http://www.cnblogs.com/wrmfw/archive/2011/09/05/2166929.html