mysql慢查询日志分析工具

作者: 数据库信息  发布:2019-06-23

mysql数据库的慢查询日志是特别主要的一项调优接济日志,可是mysql暗中认可记录的日志格式阅读时相当不够本身,那是由mysql日志记录规则所决定的,捕获一条就记录一条,虽说记录的消息丰裕详尽,但只要将浏览慢查询日志做为一项普通职业,直接阅读mysql生成的慢查询日志就有非常大希望相当的低效了。

除此之外操作系统命令直接查看slowlog外,mysql本身也提供了叁个读书slowlog的命令行工具:mysqldumpslow,该命令行提供了迟早的辨析汇总功用,能够将多个八九不离十的SQL语句空洞显示成二个,但是功能依旧略微简陋,除此而外,还会有过多的第三方工具,可用以深入分析mysql慢查询日志,当中,三思用了少时mysqlsla,感到轻易又易用。

mysqlsla不止可用来拍卖慢查询日志,也得以用来剖析任何日志比方二进制日志,普通查询日志等等,其对sql语句的虚幻成效十一分实用,参数设定简练易用,很好上手。

近日mysqlsla的风靡版本为2.03,能够下拉到官方网站下载,地址如下:
http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz

mysqlsla是perl编写的剧本,运行mysqlsla要求perl-DBI和per-DBD-Mysql两模块的支撑,由此在运作mysqlsla前须求首先安装DBI模块和呼应的数据库DBD驱动,而暗中认可情状下linux不设置那多少个模块,需要活动下载安装,下载地址如下:

DBI的编写翻译安装步骤如下:
# tar xvfz DBI-1.608.tar.gz
# cd DBI-1.608
# perl Makefile.PL
# make
# make test
# make install

DBD-mysql驱动模块的编写翻译安装步骤如下:
# tar xvfz DBD-mysql-4.011.tar.gz
# cd DBD-mysql-4.011
# perl Makefile.PL
# make
# make install

内需注意,在装置DBD-mysql时索要采纳mysql_config,该命令包括在MySQL-devel安装包中,假若当前系统中并未设置该软件,须要首先安装MySQL-devel,不然DBD-mysql在编写翻译进度中会出现谬误。

有备无患专门的职业完全,就能够设置mysqlsla了,编写翻译安装步骤如下:
# tar xvfz mysqlsla-2.03.tar.gz 
# cd mysqlsla-2.03
# perl Makefile.PL
# make
# make install

mysqlsla命令暗许会保存在/usr/bin路径下,日常可在随意路线下直接实行。对慢查询日志文件的辨析,最简化的调用格局如下:
# mysqlsla -lt slow [SlowLogFilePath] > [ResultFilePath]

选拔方法:

行使mysqlsla深入分析MySQL慢查询日志

图片 1

#查询记录最多的20个sql语句,并写到select.log中去
mysqlsla -lt slow --sort t_sum --top 20  /data/mysql/127-slow.log >/tmp/select.log
#统计慢查询文件为/data/mysql/127-slow.log的所有select的慢查询sql,并显示执行时间最长的100条sql,并写到sql_select.log中去
mysqlsla -lt slow  -sf " select" -top 100  /data/mysql/127-slow.log >/tmp/sql_select.log
#统计慢查询文件为/data/mysql/127-slow.log的数据库为mydata的所有select和update的慢查询sql,并查询次数最多的100条sql,并写到sql_num.sql中去
mysqlsla -lt slow  -sf " select,update" -top 100 -sort c_sum  -db mydata /data/mysql/127-slow.log >/tmp/sql_num.log

图片 2

比方说,原始慢日志中有一群的下列语句:
# Time: 110417  0:00:09
# User@Host: junsansi[junsansi] @  [192.168.1.27]
# Query_time: 3  Lock_time: 0  Rows_sent: 1  Rows_examined: 17600
select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT='nfEACAwQEW1MICAN2';
# User@Host: junsansi[junsansi] @  [192.168.1.27]
# Query_time: 4  Lock_time: 0  Rows_sent: 1  Rows_examined: 17600
select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT='nfEACAwQEW2MICAN2';
# User@Host: jss[junsansi] @  [192.168.1.26]
# Query_time: 4  Lock_time: 0  Rows_sent: 1  Rows_examined: 17600
select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT='nfEACAwQEW3MICAN2';
# User@Host: junsansi[junsansi] @  [192.168.1.27]
# Query_time: 3  Lock_time: 0  Rows_sent: 1  Rows_examined: 17600
select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT='nfEACAwQEW4MICAN2';
# User@Host: jss[junsansi] @  [192.168.1.26]
# Query_time: 5  Lock_time: 0  Rows_sent: 1  Rows_examined: 17600
select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT='nfEACAwQEW5MICAN2';
....................
....................

一向阅读的操作经验很不佳,使用mysqlsla管理后,结果表现如下:
Count         : 23  (8.52%)
Time          : 102 s total, 4.434783 s avg, 3 s to 7 s max  (6.79%)
  95% of Time : 88 s total, 4.190476 s avg, 3 s to 6 s max
Lock Time (s) : 0 total, 0 avg, 0 to 0 max  (0.00%)
  95% of Lock : 0 total, 0 avg, 0 to 0 max
Rows sent     : 1 avg, 1 to 1 max  (0.02%)
Rows examined : 11.53k avg, 5.70k to 17.60k max  (1.07%)
Database      : jssdb
Users         : 
        junsansi@ 192.168.1.27 : 86.96% (20) of query, 11.11% (30) of all users
        jss@ 192.168.1.26 : 13.04% (3) of query, 2.96% (8) of all users

Query abstract:
SELECT MIN(doc_his_id) AS doc_his_id FROM t_******** WHERE doc_his_isteammate=N AND doc_his_editor_user_id_encrypt='S';

Query sample:
select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT='nfEACAwQEW2MICAN2';

在上述结果中,语句的执市场价格况(实行次数,对象消息,查询记录量,时间支付,来源总括)等音信一目领悟,比较便于DBA进一步分析了。

 

原文:

本文由金沙澳门官网发布于数据库信息,转载请注明出处:mysql慢查询日志分析工具

关键词: 金沙澳门官网