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]))