`

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

阅读更多

 

 MySQL慢查询日志提供了超过指定时间阈值的查询信息,为性能优化提供了主要的参考依据,是一个非常实用的功能。


MySQL慢查询日志的开启和配置非常简单,可以指定记录的文件(或者表),超过的时间阈值等就可以记录到慢sql了。


实话讲,相比较sqlserver的trace或者扩展事件(虽然此二者的作用并非仅仅如此),MySQL的配置总是给人一种非常清爽的感觉。

  

1,慢查询日志的打开

   

正常情况下,只需要在配置文件中增加slow_query_log = 1配置,即打开慢查询日志,未指定slow_query_log_file的情况下,会自动生成一个以主机名+‘slow’.log 的文件。

 

  

2,默认情况下记录慢查询的时间阈值为10s

  

  

默认情况下,指定slow_query_log = 1的情况其启动MySQL,即可打开慢查询,自动生成一个默认的以主机名++‘slow’.log 的文件来记录超过执行超过10s的慢查询。

  

也可以显式指定慢查询的日志文件名称(不存在会自动创建)和记录慢查询的时间阈值(非默认的10s)。

  

  

注意在配置文件中指定long_query_time的时候,不需要时间单位,只需要一个值,比如1就代表1s,如果带了时间单位,服务将无法启动。

  

  

如下是一个记录到日志文件中的慢sql的示例

  

  

3,记录慢查询日志到表

  

配置:需要添加一个log_output的配置,就可以将慢查询记录到表中了

 

  

mysql库下面有一个默认的slow_log表,可以直接将slow_query_log_file = slow_log,即可将慢查询日志记录到表中。

  

   

记录到的slow sql如下,可以发现sql_text是一个二进制的信息,并非原始的sql文本

  

  

可以通过CONVERT函数转换一下即可。

  

 

关于慢查询记录到日志文件和表中的区别:

   

1,慢查询记录到日志文件和表中,记录本身差别不大,如果是记录在表中,慢查询的执行时间信息无法精确到微妙,

   

2,如果将慢查询信息记录在表中,方便查询,但因为是结构化的数据,可能会比记录在慢查询日志文件中(平面文本文件)要慢一点点(个人猜测),如果是记录到文件,需要mysqldumpslow工具解析。

   

3,慢查询不记录执行失败的查询,比如long_query_time设置为10(10秒钟),一个查询超过了10秒钟,但是因为其他原因执行失败,MySQL的慢查询将无法记录此查询信息。

分享到:
评论

相关推荐

    mysql的慢日志配置查询和show processlist使用

    mysql的慢日志配置查询和show processlist使用

    MySQL慢查询日志的配置与使用教程

    慢查询日志用于记录一些过慢的查询语句,可以帮助管理员分析问题所在,下面这篇文章主要给大家介绍了关于MySQL慢查询日志的配置与使用教程,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。

    Mysql慢查询日志

    Mysql慢查询日志概念常用参数查询与设定查询慢查询记录数mysqldumpslow工具 概念 Mysql的慢查询是一种日志, 主要用于记录 Mysql中响应时间超过设定的阀值的语句. 常用参数 类型 说明 默认值 slow_query_log ...

    mysql自动安装脚本,备份配置,慢日志配置,配置文件

    mysql自动安装脚本,备份配置,慢日志配置,配置文件。自动化安装mysql,自动化备份,自动化配置慢日志。

    wuzhc#zcnote#mysql慢查询日志1

    查看开启状态查看日志文件查看慢查询时间查看日志保存方式查看有多少条慢查询记录修改配置文件配置好后需要重启mysql,试试下面的慢查询:查看慢日志文件:mysql

    mysql 开启慢查询 如何打开mysql的慢查询日志记录

    mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢?其实打开mysql的慢查询日志很简单,只需要在mysql的配置文件里(windows系统是my.ini,...

    (mysql面试题)MySQL中的慢查询日志的作用及其使用方法及代码展示.txt

    - 在上述代码中,我们首先使用`SET GLOBAL`命令开启了慢查询日志功能,并设置了慢查询阈值为1秒,以及慢查询日志文件的路径。 - 然后,我们使用`sudo service mysql restart`命令重启了MySQL服务,使配置生效。 - ...

    Mysql慢查询日志的相关使用

    登录mysql系统 慢查询日志设置 当语句执行时间较长时,通过日志的方式...1、临时开启慢查询日志(如果需要长时间开启,则需要更改mysql配置文件) set global slow_query_log = on; 注:如果想关闭慢查询日志,只需

    MYSQL5.7.9开启慢查询日志的技巧

    前段时间开启了慢查询日志, 后来发现慢查询日志膨胀到了700M 查看最后100条 大部分都是 0.1 秒的 后来想改, 以前是动态设置的 set global slow_query_log=1; 方式的 . 然后想直接用配置文件/etc/my.cnf 配慢查询 #...

    详解mysql数据库如何开启慢查询日志

    第一句使用来定义慢查询日志的路径(若是linux系统,会涉及权限问题) 第二句使用来定义用时超过过多少秒的查询是慢查询,单位:秒。 查看配置验证是否配置成功: //查看慢查询时间,单位:s show variables like ...

    详解mysql慢日志查询

    慢日志查询配置项说明 打开mysql,通过以下命令查看相关配置: mysql> show variables like '%query%'; +------------------------------+--------------------------------------------------+ | Variable_name

    MySQL的慢查询与常见的查找方法(顺序查找,二分查找)

    目录: 慢查询 常见慢查询优化 ...直接分析mysql慢查询日志 ,利用explain关键字可以模拟优化器执行SQL查询语句,来分析sql慢查询语句 例如:执行EXPLAIN SELECT * FROM res_user ORDER BYmodifiedtime L

    mysql慢查询使用详解

    慢查询日志就是记录这些sql的日志。 2 开启慢查询日志 找到mysql配置文件my.cnf.在mysqld的下面添加 代码如下: log-slow-queries = D:/MySQL/log/mysqld-slow-query.log #日志存在的位置。(注意权限的问题,可以...

    MySQL的慢日志线上问题及优化方案

    本文将结合一个线上案例,分析如何正确设置 MySQL 慢日志参数和使用慢日志功能,并介绍下网易云 RDS 对 MySQL 慢日志功能的增强。 MySQL 参数组功能 网易云 RDS 实例提供了参数组管理功能,可通过参数管理界面查看...

    对MySQL慢查询日志进行分析的基本教程

    0、首先查看当前是否开启慢查询: (1)快速办法,运行sql语句 show VARIABLES like %slow% (2)直接去my.conf中查看。 my.conf中的配置(放在[mysqld]下的下方加入) [mysqld] log-slow-queries = /usr/local/...

    mysql数据库my.cnf配置文件

    #MySQL的查询缓冲大小(从4.0.1开始,MySQL提供了查询缓冲机制)使用查询缓冲,MySQL将SELECT语句和查询结果存放在缓冲区中, # 今后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果。根据MySQL用户...

    MySQL开启慢查询日志功能的方法

    mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里是否有很耗费资源的sql语句,这是一个有用的日志。它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失了索引或...

    掌握MySQL的安装.docx

    【实验1-6】通过初始化配置文件,启用二进制日志、慢查询日志和通用查询日志。 【实验1-7】查看二进制日志、慢查询日志和通用查询日志的内容。 【实验1-8】关闭二进制日志、慢查询日志和通用查询日志。 【实验1-9】...

    MySQL如何清空慢查询文件

    slow_query_log_file=/var/lib/mysql/mysql-slow.log #设置慢查询路径 long_query_time=0.01#设置慢查询时间 配置完要重启mysql服务才生效 查询慢查询配置是否成功 测试慢查询 use information_schema; select *

Global site tag (gtag.js) - Google Analytics