如何提取 mysql 慢查询日志中记录的查询数量(计数),间隔为 10 分钟

How to extract the number (count) of queries logged in the mysql slow query log for a 10 minute interval

根据我的研究,我想到了使用 mysqldumpslow 实用程序来解析日志并提取结果,但无法弄清楚如何使用它。我想以10分钟的间隔获取慢查询日志中记录的查询次数,以便可以比较这些值进行分析。

谢谢

您可以使用logrotate每10分钟创建一个新的slow.log并一个接一个地分析它们。暗示您正在使用 Linux。请注意,您的示例显示您的 mysql 实例配置为 "log-queries-not-using-indexes",因此您还将获得那些不在日志文件中使用索引的 SELECT。

更新:

因为我仍然不知道你在使用什么OS,一个更通用的解决你的问题的方法是在the mysql docs之后将慢日志重定向到mysql本身并获取所有记录从慢日志 table 喜欢:

SELECT COUNT(*) FROM slow_log;

这会为您提供记录的查询总数。后面跟着一个:

TRUNCATE TABLE slow_log;

设置一个脚本,每 10 分钟执行一次此操作将输出所需的信息。