使用慢查询日志进行SQL排查

慢查询日志:MYSQL提供的一种日志记录,用于记录MYSQL的响应时间超过阈值的sql语句(long_query_time默认10秒)。
检查是否开启了慢查询日志的命令:show variables like '%slow_query_log%';
l临时开启mysql的命令:set global slow_query_log = 1;

注意:这里的临时开启指的是关闭mysql服务后再次进入mysql

查询慢查询阈值的命令:show variables like 'long_query_time';
临时设置阈值:set global long_query_time = 5;

注意:这里的临时开启指的是重新登陆后就起效,不需要重启服务

mysql慢sql日志文件保存的位置:
/var/lib/mysql/hadoop1-slow.log(每个人的电脑上的位置可能不一样)

查看慢sql查询的方法:
(1)通过cat /var/lib/mysql/hadoop1-slow.log查看日志信息。
(2)使用mysqldumpslow工具查看。(不再数据库中,在linux系统中进行操作)
使用mysqldump --help可以查看指令的含义。
–获取返回记录最多的3个SQL
mysqldumpslow -s r -t 3 /var/lib/mysql/handoop1-slow.log

--获取访问次数最多的3个SQL
	mysqldumpslow -s c -t 3 /var/lib/mysql/handoop1-slow.log

--按照时间排序,前10条包含left join查询语句的SQL
	mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/handoop1-slow.log

语法:
	mysqldumpslow 各种参数  慢查询日志的文件