安装mysqlsla
源码路径:https://github.com/daniel-nichter/hackmysql.com
源码存放路径:/usr/local/src
1、获取源码
如果没有git命令,请先安装git
yum -y install git

yum -y install perl-ExtUtils-Embed

cd /usr/local/src

git clone https://github.com/daniel-nichter/hackmysql.com.git

mkdir -p /opt/monitorMySQL

cp -Rf hackmysql.com /opt

cd /opt/hackmysql.com

cp -Rf . /opt/monitorMySQL

rm -rf hackmysql.com

cd /opt/monitorMySQL/mysqlsla

perl Makefile.PL

make && make install
结果:

cp lib/mysqlsla.pm blib/lib/mysqlsla.pm
cp bin/mysqlsla blib/script/mysqlsla
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/mysqlsla
Manifying blib/man3/mysqlsla.3pm
Installing /usr/local/share/perl5/mysqlsla.pm
Installing /usr/local/share/man/man3/mysqlsla.3pm
Installing /usr/local/bin/mysqlsla
Appending installation info to /usr/lib64/perl5/perllocal.pod

2、安装其他包
yum -y install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-Time-HiRes perl-DBI perl-DBD-MySQL

列出本次安装包
yum list perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-Time-HiRes perl-DBI perl-DBD-MySQL

lt:表示日志类型,有slow, general, binary, msl, udl。
sf:[+-][TYPE],[TYPE]有SELECT, CREATE, DROP, UPDATE, INSERT,例如”+SELECT,INSERT”,不出现的默认是-,即不包括。
db:要处理哪个库的日志。
top:表示取按规则排序的前多少条。
sort:按某种规则排序,t_sum:按总时间排序;c_sum:按总次数排序;c_sum_p: sql语句执行次数占总执行次数的百分比。

#开启慢查询日志项配置

参考文件mysql性能优化之优化配置my.cnf文件:http://www.cnblogs.com/NiceTime/p/6848132.html

slow_query_log_file=/opt/mysql/data/slow.log 需根据你安装的mysql慢查询日志路径为准。

#执行时间最长的20条sql语句(默认按时长)
[root@localhost mysqllog]# mysqlsla -lt slow --sort t_sum --top 20 /opt/mysql/data/slow.log

#统计慢查询文件中所有select的慢查询sql,并显示执行时间最长的20条sql语句
[root@localhost mysqllog]# mysqlsla -lt slow -sf "+select" -top 20 /opt/mysql/data/slow.log

#统计慢查询文件中的数据库为test的所有select和update的慢查询sql,并查询次数最多的20条sql语句,并写到sql_num.log中
[root@localhost mysqllog]# mysqlsla -lt slow -sf "+select,update" -top 20 -sort c_sum -db test /opt/mysql/data/slow.log >/usr/local/src/slow_ip_db_yymm.log

mysqlsla -lt slow -sf "+select,insert,update,delete" -top 10 -sort t_sum -db tps138_com /tmp/logs/mysql-slow.log >/usr/local/src/slow_112_tps138_com_080901.log

#mysqlsla输出格式说明:
queries total: 总查询次数,unique: 去重后的sql数量
Sorted by: 输出报表的内容排序
Count : sql的执行次数及占总的slow log数量的百分比
Time : 执行时间, 包括总时间, 平均时间, 最小, 最大时间, 时间占到总慢sql时间的百分比
95% of Time : 去除最快和最慢的sql, 覆盖率占95%的sql的执行时间
Lock Time : 等待锁的时间
95% of Lock : 95%的慢sql等待锁时间
Rows sent : 结果行统计数量, 包括平均, 最小, 最大数量
Rows examined : 扫描的行数量
Database : 属于哪个数据库
Users : 哪个用户,IP,占到所有用户执行的sql百分比
Query abstract: 抽象后的sql语句
Query sample : sql样例语句

#如果出现该问题
failed: Access denied for user 'root'@'192.168.64.129' (using password: YES) at ./mysqlreport line 249

可先在配置文件
/etc/my.cnf中
[client]
host=localhost
user=xxx
password=xxx

重启数据库后
在执行该语句
mysql>INSERT INTO `user` VALUES ('%','root','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9','N',LOCALTIME(),NULL,'N');
mysql>fulsh privileges;

之后再注释以下配置项
/etc/my.cnf中
[client]
host=localhost
user=xxxm
password=xxx

./mysqlsla -lt slow -sf "+select,update,delete,insert" -top 10 -sort t_sum -db tps138 /data/mysql3306/data/slow.log

然后再执行
cd /opt/monitorMySQL/mysqlreport

#本地直播APP
./mysqlreport --host 192.168.1.1 --user root --password 123456 --port 3306 --flush-status --no-mycnf --outfile /usr/local/src/mysqlreport_1.csv

mysqlsla安装和使用介绍的更多相关文章

  1. 树莓派2系统DietPi简单安装配置使用介绍

    DietPi在Raspberrypi.org上的原帖:http://dwz.cn/HSrmY 版本发布很频繁,给原作者们点个赞.功能会越来越多,而且作者的定制观点很明确,适合树莓派的使用. 之前关于D ...

  2. [Python爬虫] scrapy爬虫系列 <一>.安装及入门介绍

    前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...

  3. Windows Server 2016 + SCO 2016 安装及配置介绍

    Windows Server 2016 + SCO 2016 安装及配置介绍 高文龙关注1人评论6332人阅读2017-02-26 23:23:02 Windows Server 2016 + SCO ...

  4. Centos 7.3下 Linux For SQL Server安装及配置介绍

    Centos 7.3下 Linux For SQL Server安装及配置介绍 高文龙关注13人评论2828人阅读2017-03-05 21:46:21 Centos 7.3下Linux For SQ ...

  5. Browser-Solidity的本地安装及使用介绍

    Browser-Solidity的本地安装及使用介绍 正所谓工欲善其事必先利其器,巧妇也难为无米之炊,所以在学习智能合约之前,必须要先把工具准备好.Browser-Solidity 是 Ethereu ...

  6. laravel基础课程---1、laravel安装及基础介绍(laravel如何安装)

    laravel基础课程---1.laravel安装及基础介绍(laravel如何安装) 一.总结 一句话总结: [修改composer镜像地址].[明确laravel的安装要求].[安装指定版本的la ...

  7. CocoaPods 的安装和使用介绍

    CocoaPods 的安装和使用介绍 安装 安装方式异常简单 , Mac 下都自带 ruby,使用 ruby 的 gem 命令即可下载安装: 1 2 $ sudo gem install cocoap ...

  8. JavaWeb——tomcat安装及目录介绍

    一.web web可以说,就是一套 请求->处理->响应 的流程.客户端使用浏览器(IE.FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Reque ...

  9. Linux下MySQL慢查询分析mysqlsla安装使用

    说明: 操作系统:CentOS 5.X 64位 MySQL版本:mysql-5.5.35 MySQL配置文件:/etc/my.cnf MySQL 数据库存放目录:/data/mysql 实现目的:开启 ...

随机推荐

  1. NHibernate从入门到精通系列——NHibernate环境与结构体系

    内容摘要 NHibernate的开发环境 NHibernate的结构体系 NHibernate的配置 一.NHibernate的开发环境 NHibernate的英文官方网站为:http://nhfor ...

  2. Game of Peace

    Time Limit: 4000ms, Special Time Limit:10000ms, Memory Limit:65536KB Total submit users: 20, Accepte ...

  3. git常见错误及解决方案总结

    git常见错误及解决方案总结 使用git在本地创建一个项目的过程  $ makdir ~/hello-world                              //创建一个项目hello- ...

  4. Flutter实战视频-移动电商-06.Dio基础_Get请求和动态组件协作

    博客地址: https://jspang.com/post/FlutterShop.html#toc-0ee 编写页面代码 创建动态组件HomePage,原来的代码是静态的我们这里就去掉就可以了. 然 ...

  5. 02-安装JDK - Java快速入门

    jdk安装的版本

  6. FZU 2150 Fire Game (高姿势bfs--两个起点)(路径不重叠:一个队列同时跑)

    Description Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows ...

  7. Uncaught TypeError: window.showModalDialog is not a function 谷歌

    //新版本谷歌没有window.showModalDialog,创建一个window.openif(window.showModalDialog == undefined){ window.showM ...

  8. layui icon样式1到7

    1: 2: 3: 4: 5: 6: 7:

  9. IT兄弟连 JavaWeb教程 JSTL定义

    JSTL标签库实际上包含5个不同的标签库.JSTL1.1规范为这些标签库的URI和前缀做了预定,参见表7.3. 表3  JSTL标签库

  10. IT兄弟连 JavaWeb教程 El基本语法

    EL(Expression Language)表达式语言是在JSP 2.0版本中引入的新特性,它用于JSP文件中的数据访问.这种表达式语言能简化JSP文件中数据访问的代码,可用来替代传统的基于&quo ...