mysql> showvariables like '%version%';

+-------------------------+---------------------+

| Variable_name           | Value               |

+-------------------------+---------------------+

|innodb_version          | 5.5.31              |

|protocol_version        | 10                  |

|slave_type_conversions  |                     |

| version                 | 5.5.31-log          |

|version_comment         | Sourcedistribution |

|version_compile_machine | x86_64             |

|version_compile_os      | Linux               |

+-------------------------+---------------------+

7 rows in set (0.00sec)

开启慢查询日志

在mysql的配置文件my.cnf 中的mysqld下方添加以下参数:

log_slow_queries=ON
long_query_time=1
slow_launch_time=1
slow_query_log=ON
slow_query_log_file=/log/mysql/slow_queries.log

注:

long_query_time=1 表示记录查询时间超过1秒的sql

slow_query_log_file 慢日志文件

slow_launch_time : 表示如果建立线程花费了比这个值更长的时间,slow_launch_threads 计数器将增加

重启mysql后检查结果

mysql> showvariables like '%slow%';

+---------------------+-----------------------------+

| Variable_name       | Value                       |

+---------------------+-----------------------------+

|log_slow_queries    | ON                          |

|slow_launch_time    | 1                           |

|slow_query_log      | ON                          |

|slow_query_log_file | /log/mysql/slow_queries.log |

+---------------------+-----------------------------+

4 rows in set (0.00sec)

mysql> showvariables like '%long%';

+---------------------------------------------------+----------+

| Variable_name                                     |Value    |

+---------------------------------------------------+----------+

|long_query_time                                   | 1.000000 |

|max_long_data_size                                | 1048576  |

|performance_schema_events_waits_history_long_size | 10000    |

+---------------------------------------------------+----------+

3 rows in set (0.00sec)

测试

mysql> selectsleep(2);

+----------+

| sleep(2) |

+----------+

|        0 |

+----------+

1 row in set (2.00sec)

查看日志是否记录

[root@HE1 /]# tail-f /log/mysql/slow_queries.log

# Time: 16021722:26:54

# User@Host:root[root] @ localhost []

# Query_time:2.000661  Lock_time: 0.000000 Rows_sent:1  Rows_examined: 0

SETtimestamp=1455776814;

select sleep(2);

设置好参数后,以后可通过

mysql>set GLOBAL slow_query_log=1;开启慢日志
mysql> set GLOBAL slow_query_log=0;关闭慢日志

是否记录没用到索引的SQL语句

mysql> showvariables like '%using%';

+-------------------------------+-------+

| Variable_name                 | Value |

+-------------------------------+-------+

|log_queries_not_using_indexes | OFF   |

+-------------------------------+-------+

1 row in set (0.00sec)

mysql> set globallog_queries_not_using_indexes=1;

Query OK, 0 rowsaffected (0.00 sec)

mysql> showvariables like '%using%';

+-------------------------------+-------+

| Variable_name                 | Value |

+-------------------------------+-------+

|log_queries_not_using_indexes | ON    |

+-------------------------------+-------+

1 row in set (0.00sec)

通过mysqldumpslow工具查询慢日志

[root@HE1 bin]#mysqldumpslow  --help

Usage: mysqldumpslow[ OPTS... ] [ LOGS... ]

Parse and summarizethe MySQL slow query log. Options are

--verbose   verbose

--debug     debug

--help      write this text to standard output

-v          verbose

-d          debug

-s ORDER    what to sort by (al, at, ar, c, l, r, t), 'at' is default

al: average lock time

ar: average rows sent

at: average query time

c: count

l: lock time

r: rows sent

t: query time

-r          reverse the sort order (largest last instead of first)

-t NUM      just show the top n queries

-a          don't abstract all numbers to N and strings to 'S'

-n NUM      abstract numbers with at least n digits within names

-g PATTERN  grep: only consider stmts that include this string

-h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard),

default is '*', i.e. match all

-i NAME     name of server instance (if using mysql.server startup script)

-l          don't subtract lock time from total time

[root@HE1 bin]#mysqldumpslow -s at -n 3 /log/mysql/slow_queries.log
 
Reading mysql slowquery log from /log/mysql/slow_queries.log
Count: 3  Time=2.33s (7s)  Lock=0.00s (0s)  Rows=1.0 (3), root[root]@localhost
  select sleep(N)
 
Count: 1  Time=0.37s (0s)  Lock=0.44s (0s)  Rows=0.0 (0), root[root]@localhost
  create table helei as select * frommysql.help_keyword
 
Count: 2  Time=0.11s (0s)  Lock=0.03s (0s)  Rows=0.0 (0), root[root]@localhost
  insert into helei  select * from mysql.help_keyword
 
Count: 2  Time=0.04s (0s)  Lock=0.00s (0s)  Rows=1.0 (2), root[root]@localhost
  select count(*) from helei

mysql5.5慢日志设置和查询的更多相关文章

  1. mysql慢日志设置

    mysql的慢日志查询对于sql的优化还是很有意义的,具体说下如何开启这个mysql慢查询日志(默认是开启的). 关于设置在mysql的官方手册或网上都有很多,但是要注意的是,mysql5.6与之前的 ...

  2. Mysql中错误日志、binlog日志、查询日志、慢查询日志简单介绍

    前言 数据库的日志是帮助数据库管理员,追踪分析数据库以前发生的各种事件的有力根据.mysql中提供了错误日志.binlog日志(二进制日志).查处日志.慢查询日志.在此,我力求解决下面问题:各个日志的 ...

  3. mysql开启binlog日志和慢查询日志

    1)首先,为什么要开启binlog日志和慢查询日志呢? binlog日志会记录下数据库的所以增删改操作,当不小心删除.清空数据,或数据库系统出错,这时候就可以使用binlog日志来还原数据库,简单来说 ...

  4. mysql 开发进阶篇系列 41 mysql日志之慢查询日志

    一.概述 慢查询日志记录了所有的超过sql语句( 超时参数long_query_time单位 秒),获得表锁定的时间不算作执行时间.慢日志默认写入到参数datadir(数据目录)指定的路径下.默认文件 ...

  5. MySQL 通用查询日志和慢查询日志分析

    MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句.2)慢查询 ...

  6. 关于MySQL 通用查询日志和慢查询日志分析

    MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句. 2)慢查 ...

  7. 微服务日志监控与查询logstash + kafka + elasticsearch

    使用 logstash + kafka + elasticsearch 实现日志监控 https://blog.csdn.net/github_39939645/article/details/788 ...

  8. 关于MySQL 通用查询日志和慢查询日志分析(转)

    MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句. 2)慢查 ...

  9. mysql基础之日志管理(查询日志、慢查询日志、错误日志、二进制日志、中继日志、事务日志)

    日志文件记录了MySQL数据库的各种类型的活动,MySQL数据库中常见的日志文件有 查询日志,慢查询日志,错误日志,二进制日志,中继日志 ,事务日志. 修改配置或者想要使配置永久生效需将内容写入配置文 ...

随机推荐

  1. 手把手教你使用startuml画用例图

    转自:http://www.2cto.com/os/201502/377091.html 最近准备研究下volley的源码,但看了网上一些大牛的博客都是配合图这样看起来更直观,分析起来逻辑也很好,什么 ...

  2. HDU 4006 The kth great number 优先队列、平衡树模板题(SBT)

    The kth great number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Oth ...

  3. 并发数据(锁)ReaderWriterLockSlim

    ReaderWriterLockSlim 类 ReaderWriterLockSlim 类支持三种锁定模式:Read,Write,UpgradeableRead.这三种模式对应的方法分别是 Enter ...

  4. android4.0 的图库Gallery2代码分析(一)

    最近迫于生存压力,不得不给人兼职打工.故在博文中加了个求点击的链接.麻烦有时间的博友们帮我点击一下.没时间的不用勉强啊.不过请放心,我是做技术的,肯定链接没病毒,就是我打工的淘宝店铺.嘻嘻.http: ...

  5. PAT (Advanced Level) 1001. A+B Format (20)

    简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...

  6. a标签的target的四个值

    特殊的目标 有 4 个保留的目标名称用作特殊的文档重定向操作: _blank 浏览器总在一个新打开.未命名的窗口中载入目标文档. _self 这个目标的值对所有没有指定目标的 <a> 标签 ...

  7. 三种Dataase Mapping的系统架构

    ORM - O/R M - Object/Relational Mapping: A technique/idea used to map objects and thier individual r ...

  8. Flash CS 自定义组件

    2012年的时候,做了一些研究,可以后来没有去整理,没有去用到项目里头,现在把这些东西都放出来纪念一下,也给有需要的人作为参考. 基本知识: Flash使用基本知识与ActionScript 3.0的 ...

  9. [Unity Physics]Physics - Rigidbody、Collider

    什么是Collider 碰撞器组件在Unity引擎中触发物理碰撞的最基本的条件. 可以这样说,假如一个游戏中没有物理碰撞系统是不可能的. 什么是Rigidbody 通过物理模拟的控制对象的位置. Ri ...

  10. 一、什么是hadoop?

    一.什么是hadoop 1. 背景 Hadoop为分布式文件系统和计算的基础框架系统,其中包含hadoop程序,hdfs系统等.   2. 名词解释 1.Hadoop, Apache开源的分布式框架. ...