MySQL慢查询日志配置与简析

By:授客 QQ:1033553122

 

<1> 查看是否开启慢查询日志

SHOW VARIABLES LIKE 'slow%';

说明:

a. 如果slow_query_log参数值为OFF则表示没开启,如果为ON则表示开启

b. slow_query_log_file 参数值为慢查询日志存放路径与名称(5.6及以上版本)。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log

<2> 查看慢查询时间阈值

说明:

long_query_time参数值,单位默认为秒。如上图,查询耗时超过long_query_time参数值(默认10s)的查询会被定义为慢查询,且记录到慢查询日志

<3>开启并配置慢查询

永久生效

找到mysql配置文件my.conf,编辑,在[mysqld]结点(如果没找到则手动新增)下新增以下语句

[myslqd]

……

slow-query-log = on

slow_query_log_file = /var/log/mysql_slow_query.log

long_query_time = 1

注意:slow_query_log_file文件所在父级目录,mysql必须具备可写权限

临时生效

SET GLOBAL slow_query_log=ON;

SET GLOBAL long_query_time = 2; 执行该命令后,SHOW VARIABLES LIKE 'long%';查看参数值还是原来的值,需要开启另一个新会话,才能看到修改后的配置。

注:以上配置重启后失效


<4> 重启mysql让配置生效


<5> 查看慢查询日志

tail -f /var/log/mysql_slow_query.log

Time
                Id
Command
   Argument

# Time: 161213 14:52:10

# User@Host: testacc[testacc] @
 [192.168.1.101]

# Thread_id: 2  Schema: employees
 QC_hit: No

# Query_time: 68.258781  Lock_time: 0.000722
 Rows_sent: 5000000
 Rows_examined: 5000000

use employees;

SET timestamp=1481611930;

select * from employee t1 limit 0, 5000000000;

如上,我们可看到,sql:“select
* from employee t1 limit 0, 5000000000;”这条慢查询,查询耗时(Query_time)为68.258781s,执行该语句时,锁定时间(Lock_time)为0.000722秒,检索记录行数(Rows_examined):5000000条,返回记录数(Rows_sent)5000000条。

MySQL 慢查询日志配置与简析的更多相关文章

  1. Mysql 慢查询日志配置

    查询日志 1.主配置文件下对添加参数.重启生效. vim /etc/my.cnf 注:主要用于查看开发程序执行时间. 注:log_slow_queries = /tmp/mysql.slow    # ...

  2. MySQL慢查询日志配置方式 slow_query_log

    MySQL慢查询(一) - 开启慢查询 - 鲁玉成 - 博客园 https://www.cnblogs.com/luyucheng/p/6265594.html mysql开启慢查询方法 - lava ...

  3. mysql 慢查询日志 mysqldumpslow 工具

    文章来源:https://www.cnblogs.com/hello-tl/p/9229676.html 1.使用Mysql慢查询日志配置 查看慢查询日志是否开启 OFF关闭 ON开启 show va ...

  4. MySQL慢查询日志相关的文件配置和使用。

    MySQL慢查询日志提供了超过指定时间阈值的查询信息,为性能优化提供了主要的参考依据,是一个非常实用的功能,MySQL慢查询日志的开启和配置非常简单,可以指定记录的文件(或者表),超过的时间阈值等就可 ...

  5. MySQL慢查询日志相关的配置和使用。

    MySQL慢查询日志提供了超过指定时间阈值的查询信息,为性能优化提供了主要的参考依据,是一个非常实用的功能,MySQL慢查询日志的开启和配置非常简单,可以指定记录的文件(或者表),超过的时间阈值等就可 ...

  6. MySQL慢查询日志总结

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

  7. MySQL 慢查询日志分析及可视化结果

    MySQL 慢查询日志分析及可视化结果 MySQL 慢查询日志分析 pt-query-digest分析慢查询日志 pt-query-digest --report slow.log 报告最近半个小时的 ...

  8. ELK logstash 处理MySQL慢查询日志(初步)

    写在前面:在做ELK logstash 处理MySQL慢查询日志的时候出现的问题: 1.测试数据库没有慢日志,所以没有日志信息,导致 IP:9200/_plugin/head/界面异常(忽然出现日志数 ...

  9. MySQL慢查询日志

    实验环境: OS X EI Captian + MySQL 5.7 一.配置MySQL自动记录慢查询日志 查看变量,也就是配置信息 show (global) variables like '%slo ...

随机推荐

  1. Spring autowire自动装配 ByType和ByName

    不使用自动装配前使用的是类的引用: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=& ...

  2. python应用-爬取猫眼电影top100

    import requests import re import json import time from requests.exceptions import RequestException d ...

  3. 通过session的id号获取对应的session

    说说为什么要用session!!! 每次访问端通过普通http协议访问tomcat时,访问端包括网页或Android app等,tomcat都会自动生成一个不同的session,而且session的i ...

  4. mysql 开发进阶篇系列 1 SQL优化(show status命令)

    一.概述 随着上线后,数据越来越多,很多sql语句开始显露出性能问题,本章介绍在mysql中优化sql语句的方法.  1.  通过show status 命令了解各种sql的执行频率 通过show [ ...

  5. linux 命令 — split

    split 按照数据大小和行数来分割文件 指定分割文件后缀 split -b 10k data.file 按照每个文件10k分割文件(默认使用字母作为后缀) split -b 10k data.fil ...

  6. JVM中对象的回收过程

      当我们的程序开启运行之后就,就会在我们的java堆中不断的产生新的对象,而这是需要占用我们的存储空间的,因为创建一个新的对象需要分配对应的内存空间,显然我的内存空间是固定有限的,所以我们需要对没有 ...

  7. MySQL中间件之ProxySQL(14):ProxySQL+PXC

    返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.ProxySQL+PXC 本文演示ProxySQL代理PXC(Pe ...

  8. python布尔类型和逻辑运算

    布尔类型 python中True表示真,False表示假,它们是布尔类型: >>> type(True) <class 'bool'> 在python中,bool的Tru ...

  9. python对象属性管理(2):property管理属性

    使用Property管理属性 python提供了一种友好的getter.setter.deleter类方法的属性管理工具:property. property()是一个内置函数,它返回一个Proper ...

  10. HttpClients+Jsoup抓取笔趣阁小说,并保存到本地TXT文件

    前言 首先先介绍一下Jsoup:(摘自官网) jsoup is a Java library for working with real-world HTML. It provides a very ...