开启记录日志,修改my.cnf加入下面几行
--log-slow-queries[=file_name]
long_query_time = 10 log-slow-queries =
long_query_time 是指执行超过10秒的sql会被记录下来。
log-slow-queries设置把日志文件的位置,如果没有给出文件名值, 默认未主机名,后缀为-slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录。
cat /etc/mysql/my.cnf
[mysqld] set-variable=long_query_time=1 log-slow-queries=/var/log/mysql/log-slow-queries.log You must create the file manually and change owners this way: touch /var/log/mysql/log-slow-queries.log chown mysql.mysql -R /var/log/mysql/log-slow-queries.log
$ mysqldumpslow /var/log/mysql/log-slow-queries.log
mysqldumpslow 参数
-
-s,是order的顺序,说明写的不够详细,俺用下来,包括看了代码,主要有c,t,l,r和ac,at,al,ar,t=time, l=lock time, r=rows分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒叙
-
-t,是top n的意思,即为返回前面多少条的数据
-
-g,后边可以写一个正则匹配模式,大小写不敏感的
-
-g,后边可以写一个正则匹配模式,大小写不敏感的
mysqldumpslow -s c -t 20 ubuntu-slow.log
mysqldumpslow -s r -t 20 ubuntu-slow.log
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。