Mysql慢查询配置
Posted 入门小站
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql慢查询配置相关的知识,希望对你有一定的参考价值。
查看系统慢sql是否开启
//慢查询时间阈值
> show variables like '%long_query_time%';
//查看慢查询配置情况
> show status like '%slow_queries%';
// 查看慢日志路径
> show variables like '%slow%';
开启慢日志
> set global slow_query_log=On;
> set global long_query_time=1; //设置查看时间超过1秒的查询被记录到日志
> select sleep(10)
查看统计结果
系统中自带的
mysqldumpslow
mysqldumpslow常用命令
-
-s,表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序(从大到小),ac、at、al、ar表示相应的倒序。 -
-t,是top n的意思,即为返回前面多少条数据。 -
-g,后边可以写一个正则匹配模式,大小写不敏感。
查出被记录次数最多的10条语句
> mysqldumpslow -s c -t 10 /var/lib/mysql/ap1azrap472-slow.log
查出返回记录数最多的10条语句
> mysqldumpslow -s r -t 10 /var/lib/mysql/ap1azrap472-slow.log
按照时间查询前10条带有左链接的Sql语句
> mysqldumpslow -s t -t 10 -g 'left join' /var/lib/mysql/ap1azrap472-slow.log
Mysql5.7配置慢查询
通过
set global
的形式改变配置,只是临时有效, Mysql重启后将失效,永久生效还需要在/etc/my.cnf
配置。
> vim /etc/my.cnf
[mysqld]
slow_query_log=On
slow_query_log_file=/var/log/mysql/slow.log
# 单位是秒
long_query_time=2
> service mysqld restart
以上是关于Mysql慢查询配置的主要内容,如果未能解决你的问题,请参考以下文章