gpt4 book ai didi

mysql - 如何解析MySQL慢查询日志中最近24小时的条目

转载 作者:行者123 更新时间:2023-11-29 23:26:23 24 4
gpt4 key购买 nike

我想处理我的 MySQL 慢查询日志并检索过去 24 小时的条目,目前无法选择日志轮换。

下面是一个示例日志条目

# 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 或类似的解决方案,可以通过命令行执行或作为脚本的一部分,通过比较“SET”来识别过去 24 小时内放置在 mysql 慢查询日志文件中的条目TIMESTAMP”行,并将所述条目放入单独的日志文件中。

最佳答案

我强烈建议使用 Percona Toolkit 的查询摘要工具进行此类分析。它安装起来很简单,基本上完全符合您想要分析慢速查询的目的(根据查询足迹而不是查询中的各个参数来分析它们,根据 REGEX 表达式排除某些类型的查询等)

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

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 开始的查询,只查看选择查询,从/var/log/mysql/slow-query.log 读取慢查询日志(显然你需要引用你的文件位置)并将分析输出到/tmp/pt_slow_nov。如果您熟悉 grep 和 awk,那么参数化此查询的 --since 部分并将其粘贴到 cron 中应该非常简单。

关于mysql - 如何解析MySQL慢查询日志中最近24小时的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26920378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com