MySQL 慢查询日志、日志分析工具mysqldumpslow示例详解
更新时间:2025年06月10日 09:33:04 作者:金州饿霸
这篇文章主要介绍了MySQL 慢查询日志、日志分析工具mysqldumpslow示例详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
mysqldumpslow 常用参数:
-s,是order的顺序 ----- al 平均锁定时间 -----ar 平均返回记录时间 -----at 平均查询时间(默认) -----c 计数 -----l 锁定时间 -----r 返回记录 -----t 查询时间 -t,是top n的意思,即为返回前面多少条的数据 -g,后边可以写一个正则匹配模式,大小写不敏感的
# 取出使用最多的10条慢查询 mysqldumpslow -s c -t 10 /data/mysql/bogon-slow.log # 取出查询时间最慢的3条慢查询 mysqldumpslow -s t -t 3 /data/mysql/bogon-slow.log # 得到按照时间排序的前10条里面含有左连接的查询语句 mysqldumpslow -s t -t 10 -g “left join” /data/mysql/bogon-slow.log # 按照扫描行数最多的 mysqldumpslow -s r -t 10 -g 'left join' /data/mysql/bogon-slow.log # 筛选出insert语句 mysqldumpslow -s r -t 10 -g 'insert' /data/mysql/bogon-slow.log
排查数据库插入操作
重点排查插入操作的激增原因,可以从以下几个方面着手:
a. 查看插入语句的执行日志
- 检查 MySQL 的 查询日志(如果开启了),尤其是
INSERT
语句的执行情况。 - 通过分析哪些表或哪些业务操作频繁执行插入操作,可以帮助定位问题的根源。
如果没有开启查询日志,可以临时启用:
SET global general_log = 1; SET global log_output = 'TABLE'; -- 或者 'FILE'
然后查询执行日志:
#没加时间段过滤 SELECT * FROM mysql.general_log WHERE command_type='Query' AND argument LIKE 'INSERT%'; #加具体时间段过滤 SELECT * FROM mysql.general_log WHERE (command_type = 'Query' AND argument LIKE 'INSERT%' AND event_time BETWEEN '2025-06-09 14:12:00' AND '2025-06-09 14:14:00');
general_log具体包含哪些字段:
DESCRIBE mysql.general_log;
这将显示 mysql.general_log
表的所有列及其数据类型,帮助你了解每个字段的含义。通常,general_log
表包括以下一些常见字段:
event_time
:记录查询的时间。user_host
:执行查询的用户和主机。thread_id
:执行查询的线程 ID。server_id
:服务器 ID。command_type
:执行的命令类型(如Query
、Connect
、Quit
等)。argument
:执行的 SQL 查询或命令的内容。
到此这篇关于MySQL 慢查询日志、日志分析工具mysqldumpslow的文章就介绍到这了,更多相关mysql慢查询日志mysqldumpslow内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MySql InnoDB存储引擎之Buffer Pool运行原理讲解
缓冲池是用于存储InnoDB表,索引和其他辅助缓冲区的缓存数据的内存区域。缓冲池的大小对于系统性能很重要。更大的缓冲池可以减少磁盘I/O来多次访问同一表数据。在专用数据库服务器上,可以将缓冲池大小设置为计算机物理内存大小的百分之802023-01-01详解DBeaver连接MySQL8以上版本以及解决可能遇到的问题
这篇文章主要介绍了DBeaver连接MySQL8以上版本以及解决可能遇到的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11
最新评论