概述

mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过阈值的语句,就是指运行时间超过long_query_time值的sql,会被记录在慢查询日志中。long_query_time的默认值是10,意思是运行10S之上的语句。
今天主要介绍怎么用mysqldumpslow工具来监控慢查询日志。

一、慢查询日志的相关设置

1、查看是否开启慢查询日志:
show variables like '%slow_query_log%';
2、配置文件设置
#设置慢查询阀值,单位为秒
long_query_time=30
slow_query_log=1 #开启mysql慢sql的日志
log_output=table,File #日志输出会写表,也会写日志文件,为了便于程序去统计,所以最好写表
slow_query_log_file=/data/log/slow.log
3、不重启设置慢查询:
set global log_output='TABLE'; -- 输出到表
set global general_log = on; -- 打开所有命令执行记录功能general_log, 所有语句: 成功和未成功的.
set global slow_query_log = on; -- 打开慢查询sql记录slow_log
set global long_query_time=30; -- 慢查询时间限制(秒)
set global log_queries_not_using_indexes=ON; -- 记录未使用索引的sql语句
--查询
select * from mysql.slow_log order by 1; -- 执行成功的:慢查询语句,和未使用索引的语句
4、查询有多少条慢查询记录
show global status like '%Slow_queries%';

二、mysqldumpslow 慢日志分析工具

命令:
-s 按照那种方式排序
c:访问计数
l:锁定时间
r:返回记录
al:平均锁定时间
ar:平均访问记录数
at:平均查询时间
-t 是top n的意思,返回多少条数据。
-g 可以跟上正则匹配模式,大小写不敏感。
实例:
1、得到返回记录最多的20个sql
mysqldumpslow -s r -t 20 slow.log
2、得到平均访问次数最多的20条sql
mysqldumpslow -s ar -t 20 slow.log
3、得到平均访问次数最多,并且里面含有mq字符的20条sql
mysqldumpslow -s ar -t 20 -g "mq" slow.log
这里提示Died at /usr/bin/mysqldumpslow line 161, <> chunk 8.的报错是因为有 -t 20这一句,那么就是要显示出前20个记录,但我的slow.log统计出来只有1个不到20个,而这里有继续遍历到20的话,那进程肯定会Died。

最新文章

  1. 三维网格补洞算法(Poisson Method)
  2. Hbase关于Java常用API举例
  3. 3.使用CXF开发webService
  4. 【转】Unity中的协同程序-使用Promise进行封装(一)
  5. Android 使WebView支持HTML5 Video(全屏)播放的方法
  6. RAC例子
  7. ASP.NET中的FileUpload文件上传控件的使用
  8. kafka消息监控-KafkaOffsetMonitor
  9. Python 第七篇:socket编程
  10. jq-animate
  11. 团队项目汇总beta
  12. 利用Python进行数据分析——重要的Python库介绍
  13. 使用反射动态调用ActiveX控件
  14. IDEA下调试和运行Hadoop程序例子
  15. maven下载的jar相应pom文件下载不完整问题。
  16. C#Redis 常用key操作
  17. BAT for 循环
  18. linux服务器开发三(网络编程)
  19. 解决Coursera平台上Andrew.Ng的机器学习课程无法正常提交编程作业的问题
  20. idea在debug模式启动非常慢,日志正常debug模式一直在启动中状态

热门文章

  1. 分布式事务(4)---RocketMQ实现分布式事务项目
  2. java学习笔记(基础篇)—抽象与接口的区别
  3. Flutter学习笔记(8)--Dart面向对象
  4. py+selenium IE 用driver.close()却把两个窗口都关了【已解决】
  5. [原创]Floodlight安装
  6. [蓝桥杯] Fibonacci数列 入门
  7. 微信小程序开发--页面之间的跳转
  8. JedisClient操作redis 单机版和集群版
  9. Helm 3 使用 harbor 作为仓库存储 charts
  10. Java实现常见的排序算法