随笔 - 746  文章 - 0  评论 - 39  阅读 - 79万

Mysql:mysqldumpslow 技巧:如何不截断 slow.log 文件,直接指定开始starttime时间,进行分析?

slow日志文件很大很大,包含很多的时间段,如何指定开市时间进行分析呢?

mysqldumpslow的选择中,没有开始、结束时间的选项。

绝大部分场景下,结束时间不是很重要,而开始时间就很有必要指定了。怎么办?

截断slow日志文件最常规做法,不过很麻烦不是。

以下是个技巧:

 

 最最最佳做法:使用sed 模式范围

sed -n '/Time: 2022-12-20/,$ p' /data/mysql/slow.log | mysqldumpslow -s at -n 10 - | more
sed -n '/Time: 2022-12-20/,$ p' /data/mysql/slow.log | mysqldumpslow -s at -n 10 - | more
sed -n '/Time: 2022-12-20/,$ p' /data/mysql/slow.log | mysqldumpslow -s at -n 10 - | more

 

另一种写法,直接使用grep的高级功能,更简洁

grep -A 999999999 "Time: 2022-12-20" /data/mysql/slow.log | mysqldumpslow -s at -n 10 - | more

 

tail -n +N 方式,也比较麻烦,不推荐

tail -n +4858883 /data/mysql/slow.log | mysqldumpslow -s at -n 10  - | more
tail -n +$(grep -n "Time: 2022-12-20" /data/mysql/slow.log | head -1 | cut -d : -f 1 ) /data/mysql/slow.log | mysqldumpslow -s at -n 10 - | more



posted on   jinzhenshui  阅读(221)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2019-12-29 搞定 win 2003:【2个 远程桌面用户({允许同一个用户最多2个会话})】升级为终端服务【多用户(多会话)】
2019-12-29 搞不懂的 win 2003:【2个 远程桌面用户({允许同一个用户最多2个会话})】升级为终端服务【多用户(多会话)】??????
2019-12-29 win7:【单个远程桌面用户(单会话)】远程桌面多开【多用户(多会话)】
2019-12-29 win8\8.1:【单个远程桌面用户(单会话)】远程桌面多开【多用户(多会话)】
2009-12-29 GNU GRUB 2:系统引导器的领导者
2009-12-29 GRUB4DOS:一个超级强大的操作系统启动管理器

点击右上角即可分享
微信分享提示