当前位置:Gxlcms > 数据库问题 > MySQL慢查询日志相关的文件配置和使用。

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

时间:2021-07-01 10:21:17 帮助过:11人阅读


;slow_query_log_file=/application/mysql/data/localhost-slow.log
slow_query_log_file=D:/php/wamp/bin/mysql/mysql5.6.17/data/localhost-slow.log
log_output = table
long_query_time = 1

技术图片

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

  执行以下指令 set global slow_query_log_file = slow_log

  show VARIABLES like ‘%log_output%‘

  技术图片

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

  select * from mysql.slow_log

  技术图片

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

  select CONVERT(sql_text USING utf8) sql_text from mysql.slow_log

  技术图片

 

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

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

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

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

20180701补充:

  慢查询是否会记录因为被阻塞造成的超过慢查询设置的阈值的sql?答案是不会。 

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

标签:依据   ima   文本   inux   慢查询日志   lse   img   方法   lte   

人气教程排行