您当前的位置:首页 > 电脑百科 > 数据库 > MYSQL

MySQL Anemometer可视化工具安装

时间:2020-03-13 11:57:54  来源:  作者:
Anemometer可视化工具安装

 

需要搞清楚pt-query工具

Anemometer基于pt-query-digest将MySQL慢查询可视化

percona-toolkit工具的安装

安装目的:pt-query-digest是percona-toolkit里面一个工具,其作用就是分析慢查询日志,将MySQL慢查询日志进行统计并友好的显示出来

源码安装

下载解压包

 wget https://www.percona.com/downloads/percona-toolkit/2.2.14/tarball/percona-toolkit-2.2.14.tar.gz
 
 tar xf percona-toolkit-2.2.14.tar.gz
 
 cd percona-toolkit-2.2.14/
 

编译安装工具安装目录在:/usr/local/percona-toolkit/bin

 yum install git perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-Digest-MD5 -y
 perl Makefile.PL PREFIX=/usr/local/percona-toolkit
 make && make install

配置环境变量

 echo 'export PATH=/usr/local/percona-toolkit/bin:$PATH' >> /etc/profile
 source /etc/profile

查看版本

 pt-query-digest --version

php web环境的搭建

安装目的:Anemometer需要依赖LAMP环境LAMP环境的安装:

下面的安装方式一键启动php和httpd服务,两者自动关联,不需要其他配置,省不少事。也可以编译其他web服务器配合php

Apache安装

 yum install httpd httpd-devel -y

安装php

 yum install php php-mysql php-common php-bcmath php-dba php-cli php-gd php-mbstring php-mcrypt php-devel php-xml php-pdo -y

修改时区

 vim /etc/php.ini
 修改
 ;date.timezone =
 为
 date.timezone = Asia/Shanghai

apache环境的启动:

 systemctl start httpd
 systemctl stop httpd
 systemctl restart httpd
 systemctl status httpd

查看安装情况

 echo '<?php phpinfo();?>' > /var/www/html/phpinfo.php
Anemometer可视化工具安装

 

安装数据库

配置国内清华镜像

 cat >/etc/yum.repos.d/mysql-community.repo <<EOF
 [mysql57-community]
 name=MySQL 5.7 Community Server
 baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql57-community-el7/
 enabled=1
 gpgcheck=0
 EOF

安装数据库服务

  yum install mysql-community-server -y

启动数据库

 systemctl start mysqld
 systemctl restart mysqld
 systemctl stop mysqld
 systemctl status mysqld

查看数据库密码

  grep 'temporary password' /var/log/mysqld.log

使用密码登录

  mysql -uroot -p

降低密码强度

 set global validate_password_policy=LOW;
 set global validate_password_length=6;

修改密码

 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
 grant all on *.* to 'root'@'%' identified by '123456';
 grant all on *.* to 'anemometer'@'localhost' identified by '123456';
 grant all on *.* to 'anemometer'@'%' identified by '123456';
 flush privileges;

时间格式设置

这是因为sql_mode中的NO_ZEROR_DATE导致的,在strict mode中不允许'0000-00-00'作为合法日期

 vim /etc/my.cnf
 [mysqld]
 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

开启慢日志

 vim /etc/my.cnf
 [mysqld]
 slow_query_log=1

设置慢日志阀值

设置超过0.1秒为慢sql语句

 vim /etc/my.cnf
 [mysqld]
 long_query_time=0.1

重启数据库

 systemctl restart mysqld

查看慢日志配置

 select @@long_query_time;
 select @@slow_query_log;
 select @@slow_query_log_file;
 

安装Anemometer

下载安装:

 cd /var/www/html/
 git clone https://github.com/box/Anemometer.git anemometer

 

修改配置文件增加explain读取用户密码信息

 cd anemometer/conf
 cp sample.config.inc.php config.inc.php

修改配置文件密码

 sed -i '285s#root#anemometer#g' config.inc.php
 sed -i "286s#''#'123456'#g" config.inc.php

修改本地数据源密码

 cp datasource_localhost.inc.php datasource_localhost.inc.php.bak
 sed -i "3s#localhost#127.0.0.1#g" datasource_localhost.inc.php
 sed -i '6s#root#anemometer#g' datasource_localhost.inc.php
 sed -i "7s#''#'123456'#g" datasource_localhost.inc.php

导入数据

 cd ..
 mysql -uanemometer -p123456 -h127.0.0.1 < install.sql

浏览器访问网站,如下图所示

Anemometer可视化工具安装

 

导入t100w数据

t100w数据库,可以从搜索下载或私信作者索取

下面的sql语句是导入t100w数据表,并执行查询操作

 source /root/t100w.sql;
 use test;
 select num,k1 from t100w where num !=0 order by k1 limit 10;
 select num,k1 from t100w where num !=10 order by k1 limit 100;
 select num,k1 from t100w where num >1000 order by k1 limit 100;
 select num,k1 from t100w where num >10000 order by k1 limit 10000;
 select num,k1 from t100w where num !=1000 order by k1 limit 100;
 select num,k1 from t100w where num !=10 order by k1 limit 10000;
 select * from t100w where num !=10 order by k1 limit 100,300;
 select * from t100w where num !=0 order by k1 limit 100,3000;
 select * from t100w where num >1 order by k1 limit 10000,30000;
 select * from t100w where k1="s" order by k1 limit 10000,30000;
 select * from t100w where k1="s" order by k1 limit 1000,3000;
 select num,k1 from t100w where k1="s" order by k1 limit 1000,3000;
 select num,k1 from t100w where k1="s" order by k1 limit 10000,30000;
 select num,k1 from t100w where k1="0" order by k1 limit 10000,30000;
 select num,k1 from t100w where k1 like "%1%" order by k1 limit 10000,30000;
 select num,k1 from t100w where k1 like "%2%" order by k1 limit 10000,30000;

查看慢日志

出于友好提示,密集恐惧者,请不要执行下面的命令!密集恐惧者,请不要执行下面的命令!密集恐惧者,请不要执行下面的命令!

 mysqldumpslow -s c -t 1 /var/lib/mysql/db114-slow.log | more

导入慢查询日志

 
 pt-query-digest --user=anemometer --password=123456 --review h='192.168.255.114',D=slow_query_log,t=global_query_review --history h='192.168.255.114',D=slow_query_log,t=global_query_review_history --no-report --limit=50% --filter=" $event->{Bytes} = length($event->{arg}) and $event->{hostname}="$HOSTNAME""   /var/lib/mysql/db114-slow.log
 

如下图所示

Anemometer可视化工具安装

 

以上就是全部的安装步骤,明天更新anemometer的使用方法

欢迎在评论区一起讨论,质疑。文章都是手打原创,每天最浅显的介绍运维、数据库相关的技术,喜欢我的文章就关注一波吧,可以看到最新更新和之前的文章。



Tags:MySQL Anemometer   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
需要搞清楚pt-query工具Anemometer基于pt-query-digest将MySQL慢查询可视化percona-toolkit工具的安装安装目的:pt-query-digest是percona-toolkit里面一个工具,其作用就是分...【详细内容】
2020-03-13  Tags: MySQL Anemometer  点击:(90)  评论:(0)  加入收藏
▌简易百科推荐
作者:雷文霆 爱可生华东交付服务部 DBA 成员,主要负责Mysql故障处理及相关技术支持。爱好看书,电影。座右铭,每一个不曾起舞的日子,都是对生命的辜负。 本文来源:原创投稿 *爱可生...【详细内容】
2021-12-24  爱可生    Tags:MySQL   点击:(7)  评论:(0)  加入收藏
生成间隙(gap)锁、临键(next-key)锁的前提条件 是在 RR 隔离级别下。有关Mysql记录锁、间隙(gap)锁、临键锁(next-key)锁的一些理论知识之前有写过,详细内容可以看这篇文章...【详细内容】
2021-12-14  python数据分析    Tags:MySQL记录锁   点击:(18)  评论:(0)  加入收藏
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二...【详细内容】
2021-12-14  linux上的码农    Tags:mysql   点击:(13)  评论:(0)  加入收藏
为查询优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查...【详细内容】
2021-12-09  元宇宙iwemeta    Tags:mysql   点击:(15)  评论:(0)  加入收藏
测试的目的和原因,公司有很多程序员,每个程序员对数据库和表结构都有自己的理解。而且每个程序员的理解往往是以效率考虑。既然都是为了效率考虑,那么我就来测试一下究竟哪种使...【详细内容】
2021-12-08  吴彬的分享    Tags:Mysql数据库   点击:(14)  评论:(0)  加入收藏
当你们考虑项目并发的时候,我在部署环境,当你们在纠结使用ArrayList还是LinkedArrayList的时候,我还是在部署环境。所以啊,技术不止境,我在部环境。今天这篇文章缕一下在同一台服...【详细内容】
2021-12-08  秃头码哥    Tags:MySQL数据库   点击:(17)  评论:(0)  加入收藏
对于数据分析来说,MySQL使用最多的是查询,比如对数据进行排序、分组、去重、汇总及字符串匹配等,如果查询的数据涉及多个表,还需要要对表进行连接,本文就来说说MySQL中常用的查询...【详细内容】
2021-12-06  笨鸟学数据分析    Tags:MySQL   点击:(21)  评论:(0)  加入收藏
在学习SQL语句之前,首先需要区分几个概念,我们常说的数据库是指数据库软件,例如MySQL、Oracle、SQL Server等,而本文提到的数据库是指数据库软件中的一个个用于存储数据的容器。...【详细内容】
2021-11-24  笨鸟学数据分析    Tags:SQL语句   点击:(23)  评论:(0)  加入收藏
概述以前参加过一个库存系统,由于其业务复杂性,搞了很多个应用来支撑。这样的话一份库存数据就有可能同时有多个应用来修改库存数据。比如说,有定时任务域xx.cron,和SystemA域...【详细内容】
2021-11-05  Java云海    Tags:分布式锁   点击:(31)  评论:(0)  加入收藏
MySQL的进阶查询 一、 按关键字排序 使用ORDERBY语句来实现排序排序可针对一个或多个字段ASC:升序,默认排序方式 【升序是从小到大】DESC:降序 【降序是从大到小】ORDER BY的...【详细内容】
2021-11-05  Java热点    Tags:SQL语句   点击:(28)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条