mysqldumpslow 是mysql提供一款对慢查询日志进行分析的工具,是用perl语言进行编写,这么好用的一个工具,本来应该能对于数据库性能优化发挥强大的作用,但是大葱哥在使用的时候却总是有不理想的事情发生,大家看下面的截图:
image.png
这个工具统计出来的查询时间是0,而日志中记录命名显示的有时间,肯定是哪里出了问题。
网上百度了下,有人说perl脚本中在处理日志文件时,如果日志文件格式不一样就会导致统计不出来,但网上提到的方法和我本地的情景不一样,按照网上的调整,还是不能统计。
于是大葱哥恶补下perl语言的语法知识,真心的表示这个语言看不懂啊,恶补完也没有完全看懂mysqldumpslow这个脚本的代码,硬着头皮把他的正则表达式搞的略懂了,于是经过多次的调试,终于攻克了这个问题。修改代码后的执行结果:
image.png
终于一片和谐社会了。
主要修改内容为一下三处: querytime的匹配正则表达式、user@host的正则匹配表达式、汇总时间的输出格式。
有需要的同学可以给我留下邮箱,我发给你。
网友评论