数据库管理员一般是用percona的toolkit工具来分析MySQL慢查询记录,但是不够直观。

下面介绍一款比较直观的工具来统计分析MySQL慢查询记录anemometer。

在使用之前需要安装percona的toolkit工具,anemometer提供web界面。

anemometer介绍参见:https://github.com/box/Anemometer/wiki

1. 安装

# cd /data/www/my.ttlsa.com

# git clone https://github.com/box/Anemometer.git anemometer

# cd anemometer

1

2

3

# cd /data/www/my.ttlsa.com

# git clone https://github.com/box/Anemometer.git anemometer

# cd anemometer

2. 创建表和用户名

mysql < install.sql

mysql -e "grant ALL ON slow_query_log.* to 'anemometer'@'localhost' IDENTIFIED BY 'my.ttlsa.com';"

mysql -e "grant SELECT ON *.* to 'anemometer'@'localhost' IDENTIFIED BY 'my.ttlsa.com';"

1

2

3

mysql

mysql-e"grant ALL ON slow_query_log.* to 'anemometer'@'localhost' IDENTIFIED BY 'my.ttlsa.com';"

mysql-e"grant SELECT ON *.* to 'anemometer'@'localhost' IDENTIFIED BY 'my.ttlsa.com';"

3. 分析MySQL慢日志

# pt-query-digest --user=anemometer --password=superSecurePass \

--review D=slow_query_log,t=global_query_review \

--review-history D=slow_query_log,t=global_query_review_history \

--no-report --limit=0% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" /data/log/mysql/slow.log

1

2

3

4

# pt-query-digest --user=anemometer --password=superSecurePass \

--reviewD=slow_query_log,t=global_query_review\

--review-historyD=slow_query_log,t=global_query_review_history\

--no-report--limit=0%--filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\""/data/log/mysql/slow.log

4. 配置anemometer

# cp conf/sample.config.inc.php conf/config.inc.php

# vi conf/config.inc.php

$conf['datasources']['localhost'] = array(

'host' => 'localhost',

'port' => 3306,

'db' => 'slow_query_log',

'user' => 'anemometer',

'password' => 'my.ttlsa.com',

'tables' => array(

'global_query_review' => 'fact',

'global_query_review_history' => 'dimension'

),

'source_type' => 'slow_query_log'

);

$conf['plugins'] = array(

'visual_explain' => '/usr/bin/pt-visual-explain',

'query_advisor' => '/usr/bin/pt-query-advisor',

#... other lines

$conn['user'] = 'anemometer';

$conn['password'] = 'my.ttlsa.com';

return $conn;

},

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

# cp conf/sample.config.inc.php conf/config.inc.php

# vi conf/config.inc.php

$conf['datasources']['localhost']=array(

'host'=>'localhost',

'port'=>3306,

'db'=>'slow_query_log',

'user'=>'anemometer',

'password'=>'my.ttlsa.com',

'tables'=>array(

'global_query_review'=>'fact',

'global_query_review_history'=>'dimension'

),

'source_type'=>'slow_query_log'

);

$conf['plugins']=array(

'visual_explain'=>'/usr/bin/pt-visual-explain',

'query_advisor'=>'/usr/bin/pt-query-advisor',

#... other lines

$conn['user']='anemometer';

$conn['password']='my.ttlsa.com';

return$conn;

},

5. 自动化处理

# vi /etc/logrotate.d/mysql

postrotate

pt-query-digest --user=anemometer --password=superSecurePass \

--review D=slow_query_log,t=global_query_review \

--review-history D=slow_query_log,t=global_query_review_history \

--no-report --limit=0% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" /data/log/mysql/slow.log.1

endscript

1

2

3

4

5

6

7

# vi /etc/logrotate.d/mysql

postrotate

pt-query-digest--user=anemometer--password=superSecurePass\

--reviewD=slow_query_log,t=global_query_review\

--review-historyD=slow_query_log,t=global_query_review_history\

--no-report--limit=0%--filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\""/data/log/mysql/slow.log.1

endscript

这样就可以通过my.ttlsa.com/anemometer来访问查看慢查询了。

参考文档:

https://www.box.com/blog/optimizing-mysql-performance-at-scale-with-anemometer-2/

http://isadba.com/?p=655

anemometer mysql_使用Anemometer分析MySQL慢查询记录相关推荐

  1. mysql慢查询记录到表_MySQL慢查询记录原理和内容解析

    原标题:MySQL慢查询记录原理和内容解析 作者:高鹏(网名八怪),<深入理解MySQL主从原理32讲>系列文的作者. 本文为学习记录,可能有误请谅解,也提供了一些源码接口供有兴趣的朋友调 ...

  2. anemometer mysql_使用Anemometer基于pt-query-digest将MySQL慢查询可视化

    最近玩MySQL,发现了一个很不错的工具,可以把MySQL慢查询可视化,方便我们去找出和分析慢询语句,搭建的步骤不多,但网上详细教程比较少,说得也不够详细,一不小心,估计得蛋痛一会,哈哈 Percon ...

  3. 分析mysql慢查询_mysql慢查询的分析方法_MySQL

    本文主要介绍的是MySQL慢查询分析方法,前一段日子,我曾经设置了一次记录在MySQL数据库中对慢于1秒钟的SQL语句进行查询.想起来有几个十分设置的方法,有几个参数的名称死活回忆不起来了,于是重新整 ...

  4. 使用mysqldumpslow和mysqlsla分析mysql慢查询日志

    MySQL优化不是一劳永逸的工作,而是一个持久战.其中慢查询日志的分析是一个重要手段,以前我总是手动大概看看,不过这实在不是长久之计,今天试用了一下mysqldumpslow和mysqlsla,感觉效 ...

  5. 使用ELK分析Mysql慢查询日志

    目录 1.ELK介绍 2.ELK安装及问题解决 3.架构 4.Mysql慢查询配置 5.具体分析 6.参考资料 1.ELK介绍 1)Elasticsearch Elasticsearch 是基于 JS ...

  6. MySQL慢查询记录原理和内容解析

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 本文并不准备说明 ...

  7. MYSQL获得查询记录的行号

    对于获得查询记录的行号这一功能,Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的ROWNUM,MS SQL Server 则在 2005 版本中提供了ROW_NUMBER()函数. ...

  8. shell脚本分析mysql慢查询日志(slow log)

    使用percona公司的pt-query-digest分析慢查询日志.分析.统计的结果的比較清晰 #!/bin/sh slowlog_path=/root/slow_query_log everysl ...

  9. 使用MyBatis框架连接MySQL数据库查询记录,全部步骤

    系统:Windows 10 ×64 使用软件:eclipse IDE.Navicat Premiun 12.MySQL 5.7 1.在Eclipse IDE中创建Java project 2.配置JA ...

最新文章

  1. 独家 | 送你5本机器学习必备的免费电子书!(附链接)
  2. [动漫日语每天一句]01 没什么大不了的。
  3. 干货!高容错微服务架构设计思路
  4. 学数答题160909-取整函数
  5. 题目1255:骰子点数概率(动态规划)
  6. Windows Server 2008 R2 DNS 服务器迁移方法
  7. Saltstack-6:模块
  8. 我是一位老师,讲课是我的乐趣,可是……
  9. centos7安装php8,centos8安装php7.4
  10. Ubuntu麒麟下搭建FTP服务
  11. Win7系统打开网页特别慢的解决方法
  12. java 类编译_Java类编译、加载、和执行机制
  13. 蓝桥杯2020年第十一届Python省赛第五题-排序
  14. android 地理位置改变,Android中修改地理位置信息
  15. Windows用户如何安装使用cpolar内网穿透工具
  16. NTP/PTP时间同步入门
  17. 2019年入职体检那些事
  18. 《软件架构/架构师书库》读后感
  19. Halcon仿射变换图片(旋转、缩放、平移)
  20. Pikachu漏洞平台练习

热门文章

  1. 用Matlab录制、读取音频
  2. java如何调用接口股票的?
  3. windows 查看端口
  4. 大数据需要学哪些内容
  5. axure7.0下载安装教程
  6. Final Cut Pro如何安装自定义lut?final cut pro的lut安装在哪个文件夹?
  7. 《逆向工程核心原理》
  8. Git提交后,文件夹任然有红色叹号提示
  9. 2021美团杯CTF ez-sql
  10. 小红书MVP系统架构与技术选型(一)