如何使用mysql慢查询日志
admin
2023-05-06 16:01:53
0

文主要给大家介绍如何使用mysql慢查询日志,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下如何使用mysql慢查询日志吧。

mysql慢查询日志是mysql提供的一种日志记录,它用来记录sql执行超过long_query_time秒的SQL语句。long_query_time的最小值和默认值分别为0和10。 意思是运行超过10秒以上的sql语句。该值可以指定为微秒。 对于记录到文件,写入时间包括微秒部分。 为了记录到表格,只写入整数次。 微秒的部分被忽略。默认情况下,慢查询日志是被禁用的,要自己手动开启。

相关参数

slow_query_log [= {0 | 1}]:是否开启慢查询日志,0为关闭,1为开启。

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

slow_query_log_file:提定日志目标。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log

log-output[={FILE|TABLE}]:指定日志存到文件,还是表格。

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

log-slow-admin-statements:在写入慢查询日志的语句中包含慢管理语句(可选项)。

min_examined_row_limit:检查少于此行数的查询不会记录到慢速查询日志中。

慢查询配置

mysql> show variables  like '%slow_query_log%';

+---------------------+----------------------------------------+
| Variable_name       | Value                                  |
+---------------------+----------------------------------------+
| slow_query_log      | ON                                     |
| slow_query_log_file | /usr/local/mysql/var/huosuSDK-slow.log |
+---------------------+----------------------------------------+
2 rows in set (0.00 sec)

slow_query_log的值为OFF表示慢查询禁用,ON表示慢查询开启。

set global slow_query_log=1

全局开启慢查询,但mysql如果重启,为失效。如果要永久生效,得在/ect/my.cnf下配置

log-output=FILE 保存文件
slow_query_log=1 开启慢查询
long_query_time=2 时间2秒
log_queries_not_using_indexes=1 没有索引的也记录

然后重启mysql。

如果你想查询有多少条慢查询记录,可以使用系统变量。

show global status like '%Slow_queries%';

也可以用工具官方提供的工具来分析慢查询

mysqldumpslow

mysqldumpslow解析MySQL慢查询日志文件并打印其内容摘要。

通常情况下,mysqldumpslow组查询除了数字和字符串数据值的特定值之外是相似的。 显示汇总输出时,将这些值“提取”为N和“S”。 -a和-n选项可用于修改值抽象行为。

像这样调用mysqldumpslow:

shell> mysqldumpslow [options] [log_file ...]

mysqldumpslow支持以下选项。

Format    Description      
-a        不要把所有的数字都抽象成N和字符串S
-n        至少指定数字的抽象数字      
--debug   编写调试信息            
-g        只考虑符合模式的语句        
--help    显示帮助信息并退出        
-h        日志文件名中的云服务器的主机名    
-i        云服务器实例的名称          
-l        不要从总时间中减去锁定时间    
-r        颠倒排序顺序            
-s        如何排序输出            
-t        仅显示第一个数字查询        
--verbose 详细模式

  • --help
    显示帮助信息并退出
  • -a
    不要把所有的数字都抽象成N和字符串S
  • --debug, -d
    编写调试信息
  • -g pattern
    只考虑匹配(grep-style)模式的查询。
  • -h host_name
    MySQL云服务器的主机名为 -slow.log文件名。 该值可以包含通配符。 默认值是(全部匹配)。
  • -i name
    云服务器实例的名称(如果使用mysql.server启动脚本)。
  • -l
    不要从总时间中减去锁定时间。
  • -n N
    抽象号码中至少有N位数字。
  • -r
    颠倒排序顺序。
  • -s sort_type
    如何排序输出。 sort_type的值应该从以下列表中选择:
    • t, at: 按查询时间或平均查询时间排序
    • l, al: 按锁定时间或平均锁定时间排序
    • r, ar: 按发送的行或发送的平均行进行排序
    • c: 按数量排序
      默认情况下,mysqldumpslow按平均查询时间排序(相当于-s at)。
  • -t N
    只显示输出中的前N个查询。
  • --verbose, -v

    看完以上关于如何使用mysql慢查询日志,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

相关内容

热门资讯

伊朗外长:科威特“非法”攻击伊... △伊朗外长阿拉格齐(资料图)当地时间13日晚,伊朗外长阿拉格齐对外表示,科威特“非法”攻击了一艘伊朗...
欧盟召开紧急会议,协调应对汉坦... 当地时间13日,欧盟各成员国常驻欧盟代表在布鲁塞尔举行紧急会议,重点讨论在汉坦病毒疫情背景下加强跨境...
菲律宾总统称未下达逮捕德拉罗萨... 新华社马尼拉5月13日电(记者赵晨捷 李萌)据菲律宾媒体报道,菲总统马科斯13日称未下达逮捕参议员德...
时隔九年再度来京,特朗普有何诉... ◆5月12日,特朗普登上“空军一号”前对着镜头挥手告别。(图源:美联社)文/何平编辑/漆菲5月13日...
硬科技管控,中美关系的新压舱石 特朗普此次访华,英伟达CEO黄仁勋随行的消息提振美股市场,凸显芯片与人工智能已成为中美关系的核心议题...
报告:今年一季度AI原生APP... 中国青年网北京5月12日电(记者 高蕾)近日,第三方智能数据服务商QuestMobile发布了《中国...
七大新品发布!国轩高科第15届... 央广网合肥5月13日消息(记者徐鹏)5月16日至17日,电池龙头企业国轩高科将在合肥举办第15届全球...
百度伐谋2.0发布,李彦宏:能... 5月13日举办的Create2026百度AI开发者大会开幕式上,自我演化决策智能体百度伐谋升级至2....
泰顶级豪门曝性侵丑闻!哥哥侵犯... 泰国最有影响力的巨头之一Singha集团(胜狮集团),这两天爆出性侵丑闻。集团第四代成员,环保活动家...
什么信号?多地要求干部带头缴纳... 多地要求干部带头缴纳物业费。最近一段时间,物业费成了社会关注的焦点。原因竟然是多地密集出台文件,号召...