数据派
聚焦技术和人文,分享干货,共同成长。
聚焦技术和人文,分享干货,共同成长。
mysqldumpslow
是 MySQL 自带的一个用于分析慢查询日志的工具,它可以帮助数据库管理员和开发人员快速定位执行时间长、执行次数多的慢查询语句,从而对数据库进行性能优化。以下是关于 mysqldumpslow
的详细使用说明。mysqldumpslow
之前,需要确保 MySQL 的慢查询日志功能已经开启。可以通过以下步骤进行设置:SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2; -- 设置慢查询的时间阈值为 2 秒
/etc/my.cnf
或 /etc/mysql/my.cnf
),添加或修改以下配置项。[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
mysqldumpslow
基本语法mysqldumpslow [选项] [慢查询日志文件]
/var/log/mysql/mysql-slow.log
读取日志。-s t
:按照查询时间(Query Time)排序,显示执行时间最长的查询。mysqldumpslow -s t /var/log/mysql/mysql-slow.log
-s l
:按照锁定时间(Lock Time)排序,显示锁定时间最长的查询。mysqldumpslow -s l /var/log/mysql/mysql-slow.log
-s c
:按照查询次数(Count)排序,显示执行次数最多的查询。mysqldumpslow -s c /var/log/mysql/mysql-slow.log
-t N
:只显示前 N 条查询结果。例如,显示执行时间最长的前 5 条查询。mysqldumpslow -s t -t 5 /var/log/mysql/mysql-slow.log
-i
:在比较查询语句时忽略大小写。mysqldumpslow -i -s t /var/log/mysql/mysql-slow.log
-g 正则表达式
:使用正则表达式过滤查询语句,只显示匹配的查询。例如,只显示包含 SELECT
关键字的查询。mysqldumpslow -g 'SELECT' /var/log/mysql/mysql-slow.log
mysqldumpslow
的输出结果通常包含以下信息:Reading mysql slow query log from /var/log/mysql/mysql-slow.log
Count: 10 Time=1.50s (15s) Lock=0.00s (0s) Rows=100.0 (1000), user[user]@[host]
SELECT * FROM table_name WHERE column = 'value';
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了