首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Mysql慢日志查询

Mysql慢日志查询

作者头像
大忽悠爱学习
发布2021-11-15 15:37:44
发布2021-11-15 15:37:44
1.8K0
举报
文章被收录于专栏:c++与qt学习c++与qt学习

Mysql慢日志查询


简介

  • MySQL慢查询日志是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中
  • long_query_time的默认值为10,意思是运行10秒以上的语句

默认情况下,MYSQL数据库没有开启慢查询日志,需要我们手动来设置这个参数

当前,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会对性能造成一定的影响,慢查询日志支持将日志记录到文件中


查看是否开启及如何开启

查看是否开启:

代码语言:javascript
复制
show variables like '%slow_query_log%';

默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的

可以通过设置slow_query_log的值来开启

使用set global slow_query_log=1开启慢查询日志只对当前数据库生效

如果重启MYSQL,则会失效

代码语言:javascript
复制
set global slow_query_log=1

设置永久开启

修改配置文件my.cnf

在[mysqld]下增加或修改参数

slow_query_log和slow_query_log后,然后重启MYSQL服务器,将下面两行配置进my.cnf配置文件

代码语言:javascript
复制
slow_query_log=1
slow_query_log_file=/var/lib/mysql/dhy.log

关于慢查询的参数slow_query_log,它指定慢查询日志文件的存放路径,系统默认会给一个缺省的文件host_name-slow.log(如果没有指定参数slow_query_log_file的话)


修改和查看默认的最长查询时间参数

默认情况下long_query_time的值为10秒,表示超过10秒的sql被定义为慢sql,会被记录

查看最长查询时间参数的命令:

代码语言:javascript
复制
show variables like 'long_query_time%';

也可以使用命令修改,也可以在my.cnf参数里面修改

如果运行时间恰好等于long_query_time,则不会被记录下来,也就是说mysql源码是判断大于long_query_time而不是大于等于


设置最长查询时间的命令:

代码语言:javascript
复制
set global long_query_time=3

修改后需要重写连接或新开一个会话才能看到修改值:

代码语言:javascript
复制
show variables like 'long_query_time%';

或者使用下面的命令查看:

代码语言:javascript
复制
show global variables like 'long_query_time%';

select sleep(4):当前查询执行四秒


查询当前系统中有多少条慢查询记录

代码语言:javascript
复制
show global status like '%Slow_queryies%';

日志分析工具mysqldumpslow

显示帮助信息

代码语言:javascript
复制
mysqldumpslow --help

mysqldumpslow的帮助信息:

s:表示按照何种方式排序 c:访问次数 l:锁定时间 r:返回记录 t:查询时间 al:平均锁定时间 ar:平均返回记录数 at:平均查询时间 t:即为返回前面多少条数据 g:后边搭配一个正则匹配模式,大小写不敏感

代码语言:javascript
复制
得到返回记录集最多的10个sql
mysqldumpslow -s -r -t 10 /var/lib/mysql/dhy.log
得到访问次数最多的10个sql
mysqldumpslow -s -c -t 10 /var/lib/mysql/dhy.log
得到按照时间排序的前10条里面含有左连接的查询语句
mysqldumpslow -s -t -t 10 -g 'left join' /var/lib/mysql/dhy.log
建立在使用这些命令时,结合|more来使用,否则可能会爆屏
mysqldumpslow -s -c -t 10 /var/lib/mysql/dhy.log | more

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/10/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Mysql慢日志查询
  • 简介
  • 查看是否开启及如何开启
    • 设置永久开启
  • 修改和查看默认的最长查询时间参数
  • select sleep(4):当前查询执行四秒
  • 查询当前系统中有多少条慢查询记录
  • 日志分析工具mysqldumpslow
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档