当前位置: 代码网 > it编程>数据库>Mysql > MySQL 慢查询日志、日志分析工具mysqldumpslow示例详解

MySQL 慢查询日志、日志分析工具mysqldumpslow示例详解

2025年06月10日 Mysql 我要评论
mysqldumpslow 常用参数:-s,是order的顺序----- al 平均锁定时间-----ar 平均返回记录时间-----at 平均查询时间(默认)-----c 计数-----l 锁定时间

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:执行的命令类型(如 queryconnectquit 等)。
  • argument:执行的 sql 查询或命令的内容。

到此这篇关于mysql 慢查询日志、日志分析工具mysqldumpslow的文章就介绍到这了,更多相关mysql慢查询日志mysqldumpslow内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com