python mysql slowlog_mysql慢查询日志分析工具(python写的)

本文讲述了如何修改python脚本mysql_filter_slow_log.py,解决因查询时间数据类型不符导致的错误。主要内容包括将query_time从int改为float类型,并提供使用方法示例。
摘要由CSDN通过智能技术生成

D:\NormalSoftware>python mysql_filter_slow_log.py ./mysql1-slow.log --no-duplic

ates --sort-avg-query-time --top=100 >> mysql_slow_test05.txt

469行要改为:

query_time = (float(numbers[1].split()[0]), float(numbers[2].split()[0]),

float(numbers[3].split()[0]), float(numbers[4]))

150 151行注释掉:

#locale.setlocale(locale.LC_NUMERIC,

# os.name == 'nt' and 'en' or 'en_US.ISO8859-1')

mysql_filter_slow_log.py

使用方法:(这里只介绍python的使用方法)

python mysql_filter_slow_log.py  ./mysql1-slow.log --no-duplicates --sort-execution-count --top=10  >> mysql_slow_test.txt

备注:mysql1-slow.log  慢查询日志名称

--no-duplicates

--sort-execution-count

--top=10  取前十位

mysql_slow_test.txt  输出分析报告

附录:

官方给出的使用方法举例:

=====================================

====================================

官方给出的命令参数:

==================================

====================================

官方给出的配置文件中管理慢日志参数的配置

====================================

======================================

注意:在执行脚本的时候会报数据类型的错误,具体错误指定469行,经过查看,实际慢查询日志中的query_time是float类型,而在这个脚本工具中定义的确实int类型。于是自行修改!

默认:

======================

query_time = (int(numbers[1].split()[0]), int(numbers[2].split()[0]),

int(numbers[3].split()[0]), int(numbers[4]))

======================

修改为:

======================

query_time = (float(numbers[1].split()[0]), float(numbers[2].split()[0]),

float(numbers[3].split()[0]), float(numbers[4]))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值