前言

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。

官方文档,关于慢查询的日志介绍如下(部分资料,具体参考官方相关链接):

The slow query log consists of SQL statements that took more than long_query_time seconds to execute and required at least min_examined_row_limit rows to be examined. The minimum and default values of long_query_time are 0 and 10, respectively. The value can be specified to a resolution of microseconds. For logging to a file, times are written including the microseconds part. For logging to tables, only integer times are written; the microseconds part is ignored.

By default, administrative statements are not logged, nor are queries that do not use indexes for lookups. This behavior can be changed usinglog_slow_admin_statements and log_queries_not_using_indexes, as described later.

慢查询日志相关参数

MySQL 慢查询的相关参数解释:

slow_query_log    :是否开启慢查询日志,1表示开启,0表示关闭。

log-slow-queries  :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log

slow-query-log-file:新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log

long_query_time :慢查询阈值,当查询时间多于设定的阈值时,记录日志。

log_queries_not_using_indexes:未使用索引的查询也被记录到慢查询日志中(可选项)。

log_output:日志存储方式。log_output='FILE'表示将日志存入文件,默认值是'FILE'。log_output='TABLE'表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中。MySQL数据库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output='FILE,TABLE'。日志记录到系统的专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查询日志,又需要能够获得更高的系统性能,那么建议优先记录到文件。

慢查询日志的作用

慢查询日志会把查询耗时超过规定时间的SQL语句记录下来,利用慢查询日志,可以定位分析性能的瓶颈

查看慢查询日志功能是否开启,以及慢查询日志文件存放目录

SHOW VARIABLES LIKE 'slow_query%'

开启慢查询日志

slow_query_log 可以设置慢查询日志的开关状态

long_query_time 可以规定查询超时的时间,单位是秒

在MySQL配置文件 /etc/my.cnf 中,设置

slow_query_log=ON

long_query_time=1

开启慢查询日志,记录查询超过1秒的sql语句,重启MySQL后生效。

可以使用下面sql测试以下

SELECT SLEEP(2);

慢查询日志记录文件

Tcp port: 0 Unix socket: (null)

Time Id Command Argument

# Time: 210125 6:30:14

# User@Host: reptile[reptile] @ [192.168.10.254] Id: 1

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

SET timestamp=1611556214;

SELECT SLEEP(2);

SET timestamp=1611556214; 执行sql时间戳

Query_time  sql执行时长

Rows_sent   返回几条记录

总结

到此这篇关于MySQL慢查询日志的作用和开启的文章就介绍到这了,更多相关MySQL慢查询日志内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

mysql 慢日志 作用_MySQL慢查询日志的作用和开启相关推荐

  1. suse查看mysql内存使用情况_MySQL 慢查询日志(Slow Query Log)

    4.格式化慢查询日志 结构化慢查询日志就是把慢查询日志中的重要信息按照便于阅读以及按照特定的排序方式来提取SQL. 这种方式有点类似于Oracle中有个tkprof来格式化oracle的trace文件 ...

  2. c mysql清理日志文件_MySQL 一般查询日志或者慢查询日志历史数据的清理

    general log&slow query log 对于MySQL的一般查询日志和慢查询日志,开启比较简单,其中公用的一个参数是log_output,log_output控制着慢查询和一般查 ...

  3. mysql 慢查询日志的作用_MySQL慢查询日志的作用和开启

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

  4. mysql的慢查询日志功能_MySQL 慢查询日志

    MySQL 慢查询日志 简介 MySQL 慢查询日志是排查问题 SQL 语句,以及检查当前 MySQL 性能的一个重要功能. 查看是否开启慢查询功能: mysql> show variables ...

  5. mysql 慢查询日志位置_mysql慢查询日志

    一.开启慢查询日志 1.查看是否开启:show variables like 'slow_query_log'; 2.查看是否开启记录未使用索引的查询:show variables like 'log ...

  6. mysql的记录操作的日志文件_MySql 的操作日志 历史记录

    如何查看mysql数据库操作记录日志 1.首先确认你日志是否启用了mysql>show variables like 'log_bin'. 2.如果启用了,即ON,那日志文件就在mysql的安装 ...

  7. mysql or中有空查询慢_MySQL 慢查询日志

    1.定义 2.相关参数 2.开启 3.原因 4.慢查询日志工具mysqldumpslow 1.定义 作用:用来记录在MySQL中响应时间超过阀值的语句. 2.相关参数 mysql> show v ...

  8. MySQL慢查询日志的配置与使用_MySQL 慢查询日志的开启与配置

    简介 MySQL 慢查询日志是排查问题 SQL 语句,以及检查当前 MySQL 性能的一个重要功能. 查看是否开启慢查询功能: mysql> show variables like 'slow_ ...

  9. mysql慢查询日志分析工具比较_MySQL慢查询日志总结 日志分析工具mysqldumpslow

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

最新文章

  1. 阿里巴巴是如何招人的,如何招到合适的人?
  2. golang image.image 转文件流_Kuiper 1.0.2 正式发布 超轻量 IoT 边缘流处理
  3. countDownLatch 与 CyclicBarrier 区别
  4. 温州大学《深度学习》课程课件(十、人脸识别与神经风格迁移)
  5. mac中修改系统限制量--ulimit和sysctl
  6. 推荐:Flowchart 一种通过文本方式描述的流程图
  7. IDEA快速修改类名和文件名
  8. CSU-1982 小M的移动硬盘
  9. mysql死锁语句_记一次神奇的Mysql死锁排查
  10. linux 编译c q64,Ubuntu 12.04 LTS 64位搭建Qt4终端编译环境
  11. python的list()列表数据类型的方法详解
  12. xbox360自建服务器,Xbox360自制系统GOD版的游戏怎么安装
  13. 计算机设备管理器更新驱动器,怎么利用设备管理器更新显卡驱动 - 驱动管家
  14. HCIP考试-华为证书安全方向已取得
  15. 在计算机语言中的乘法,LOGO语言编程题  高精度乘法★★
  16. Java代码是怎么运行的?
  17. npm ERR,fatal: unable to access ‘https://github.com/nhn/raphael.git/‘: OpenSSL SSL_read: Connection
  18. STM32单片机硬件I2C读取AHT10温湿度传感器数据
  19. 进击的PyTorch,和它背后的开源领袖
  20. 开源库和开源代码源码

热门文章

  1. ubuntu 14.04 64 bit上开启nscd服务缓存加速及清除dns缓存
  2. 在Ubuntu 14.04 64bit上安装配置sublime text 3(Build 3083)
  3. vim复制代码包含注释时格式会乱掉的解决办法
  4. Gold Code,Gold Sequence
  5. Contos7 克隆实例 以及 配置网络-服务-等相关信息
  6. Laravel框架中的event事件操作
  7. selenium的基础知识点
  8. numpy.random.seed()
  9. Spark2 ML 学习札记
  10. IOS类似9.png