首页 > 代码库 > MySQL慢查询日志

MySQL慢查询日志

实验环境:
OS X EI Captian + MySQL 5.7

一、配置MySQL自动记录慢查询日志

查看变量,也就是配置信息

show (global) variables like '%slow_query%'

修改变量:

set global 变量名 = 值

与慢查询日志有关的变量:

是否开启慢查询日志
slow_query_log = OFF 

long_query_time = 10   
最大时间限制,超过此时间,再记录

slow_query_log_file = /usr/slow.log
日志文件位置

log_queries_not_using_indexes = OFF
没有使用索引的搜索是否记录

我们先开启慢查询日志:

技术分享?

修改查询时间:

技术分享?

剩下两个全局变量,日志路径和没用索引的记录就默认值吧。

二、查看MySQL慢查询日志

可以直接查看:

vim /usr/local/var/mysql/DyanLideMacBook-Air-slow.log

技术分享?

也可以使用mysqldumpslow查看慢查询日志:

mysqldumpslow -s at -a  /usr/local/var/mysql/DyanLideMacBook-Air-slow.log

查看帮助 mysqldumpslow --help

技术分享?

翻译几个常用的:

--verbose    版本
--debug      调试
--help       帮助
 
-v           版本
-d           调试模式
-s ORDER     排序方式
              al: average lock time
              ar: average rows sent
              at: average query time 默认
               c: count
               l: lock time
               r: rows sent
               t: query time
-r           反转顺序,默认文件倒序拍
-t NUM       显示前N条
-a           不要将SQL中数字转换成N,字符串转换成S
-l           总时间中不减去锁定时间

MySQL慢查询日志