首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析最近24小时的MySQL慢查询日志

如何解析最近24小时的MySQL慢查询日志
EN

Stack Overflow用户
提问于 2014-11-14 07:26:24
回答 1查看 1.5K关注 0票数 0

我想处理我的MySQL慢查询日志,并检索最近24小时的条目,目前不支持日志轮换。

下面是一个示例日志条目

代码语言:javascript
复制
# Query_time: 0.000431  Lock_time: 0.000124 Rows_sent: 8  Rows_examined: 25
SET timestamp=1415792064;
SELECT `username`, `password`, `date_created` From joomla_users
ORDER BY `kid` DESC;
# User@Host: joomla[joomla] @  [192.168.168.100]

我想使用awk或grep或类似的解决方案,可以通过命令行或脚本的一部分来识别在过去24小时内放置在mysql慢查询日志文件中的条目,方法是比较每个条目的"SET TIMESTAMP“行,并将这些条目放入单独的日志文件中。

EN

回答 1

Stack Overflow用户

发布于 2014-11-14 08:31:14

我强烈建议使用Percona Toolkit的查询摘要工具进行此类分析。它的安装很简单,基本上就是你想要分析慢查询所做的事情(根据查询足迹,而不是查询中的单个参数来分析它们,排除基于REGEX表达式的特定类型的查询,等等)

看看Percona工具包(http://www.percona.com/doc/percona-toolkit/2.1/pt-query-digest.html)。如果您决定使用它,下面的代码应该很容易适应

代码语言:javascript
复制
pt-query-digest --since '2014-11-01' --filter '$event->{arg} =~ m/^select/i' /var/log/mysql/mysql-slow-query.log > /tmp/pt_slow_nov

这就是说,从2014-11-01开始分析查询,只查看select查询,从/var/ log /mysql/log query.log读取慢查询日志(显然,您需要引用您的文件位置),并将分析输出到/tmp/pt_log_nov。如果您熟悉grep和awk,那么将该查询的-- to部分参数化并将其放入cron中应该是非常简单的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26920378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档