MySQL慢查询日志

14人阅读 评论(0) 收藏 举报
分类:

0.什么是慢查询日志

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


1.如何使用

     查询慢查询是否启动和慢查询日志默认位置


.      可以利用 

set global slow_query_log=1;

开启慢查询,当然只限于此处的会话.,重启后自动失效

      如果需要永久生效,需要在MySQL的配置文件my.cnf的[mysqld]下添加 

          

   slow_query_log=1

   slow_query_log_file=/var/lib/mysql/ms-slow.log    //主机名-slow.log

   查询慢查询时间以及修改时间:

  

 show global variables like '%long_query_time%';

    set global long_query_time=3;
如果需要永久生效,需要在MySQL的配置文件my.cnf的[mysqld]下添加 

   long_query_time=3

     记住命令中要加global,因为是当次修改的,如果不加global查询会显示没有改变,需要重新连接或者新开一个会话才可以看到改变


       模拟慢SQL

 

        查看慢SQL日志记录情况

   

  查看慢SQL数量


日志分析工具mysqldumpslow

mysqldumpslow --help


s:是表示按照何种方式排序

c:访问次数

l:返回记录

r:查询时间

al:平均锁定时间

ar:平均返回记录数

at:平均查询时间

t: 即为返回前面多少条的数据

g:后面搭配一个正则匹配模式,大小写不敏感的.


小例子:(把慢日志路径换成自己的)

 1.得到返回记录最多的10个SQL

    mysqldumpslow -s r -t 10 /var/lib/mysql/ms-slow.log

2.得到访问次数最多的10个SQL

mysqldumpslow -s c -t 10 /var/lib/mysql/ms-slow.log

3.得到按照时间排序的前10条里面含左连接的查询语句

mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/ms-slow.log

4.另外建议在使用这些命令时结合|和more使用,否则有可能会出现爆屏情况

mysqldumpslow -s r  -t 10 /var/lib/mysql/ms-slow.log | more




查看评论

学会读懂 MySql 的慢查询日志

在前边的博客《何时、如何开启 MySql 日志?》中,我们了解到了如何启用 MySql 的慢查询日志。今天我们来看一下如何去读懂这些慢查询日志。在跟踪慢查询日志之前,首先你得保证最少发生过一次慢查询。...
  • defonds
  • defonds
  • 2015-07-14 15:21:55
  • 2912

清空mysql慢查询日志

清空mysql慢查询日志
  • cjfeii
  • cjfeii
  • 2015-08-19 15:48:28
  • 1673

MySQL之慢查询-删除慢查询日志

一、环境         OS:CentOS release 5.8(64位)         DB:MySQL5.5.17 二、操作         直接通过命令 rm -f  删除了慢查询...
  • WangXiuli_Girl
  • WangXiuli_Girl
  • 2014-06-10 09:35:48
  • 1833

MySQL之删除慢查询日志

MySQL之删除慢查询日志
  • john1337
  • john1337
  • 2017-05-17 14:28:15
  • 324

mysql 慢查询日志设置

慢查询日志相关参数 MySQL 慢查询的相关参数解释: slow_query_log    :是否开启慢查询日志,1表示开启,0表示关闭。 log-slow-queries  ...
  • shukebai
  • shukebai
  • 2017-04-11 17:26:35
  • 2753

MySQL系列之三:慢查询日志及分析

一、打开慢查询日志配置参数,统计有问题的SQL[mysqld] … … slow_query_log log-short-format slow_query_log_file=...
  • ydyang1126
  • ydyang1126
  • 2017-04-08 17:48:45
  • 472

Linux下开启MySQL慢查询日志

1、修改 mysql 的配置文件 2、在 [mysqld] 中添加内容 3、验证
  • txl13109187932
  • txl13109187932
  • 2017-12-20 12:54:54
  • 140

linux下开启mysql慢查询日志

修改mysql的配置文件my.cnf   【 vi /etc/my.cnf】 在[mysqld]里面加上以下内容 slow_query_log=TRUE #开...
  • qq_27292113
  • qq_27292113
  • 2017-05-22 15:36:41
  • 2655

MySQL开启慢查询日志

Windows下找到mysql的安装目录下的my.ini文件。我用的mysql版本较低,5.1.40。 在my.ini增加以下几行: [mysqld] 定义超过多少秒的查询算是慢查询,我这里定义...
  • xiaoguiNumberone
  • xiaoguiNumberone
  • 2017-03-17 15:35:20
  • 1129

Mysql 启动慢查询日志 (不用重启)

1. 查看mysql系统参数 mysql> show variables like "%slow%"; +---------------------------+------------------...
  • wujizkm
  • wujizkm
  • 2016-01-12 18:34:28
  • 2273
    个人资料
    持之以恒
    等级:
    访问量: 5万+
    积分: 1936
    排名: 2万+
    最新评论