mysqlsla安装和使用介绍

<div id="cnblogs\_post\_body" class="blogpost-body "> <p>安装mysqlsla<br>源码路径:https://github.com/daniel-nichter/hackmysql.com<br>源码存放路径:/usr/local/src<br>1、获取源码<br>如果没有git命令,请先安装git<br>yum -y install git</p> <p>yum -y install perl-ExtUtils-Embed</p> <p>cd /usr/local/src</p> <p>git clone https://github.com/daniel-nichter/hackmysql.com.git</p> <p>mkdir -p /opt/monitorMySQL</p> <p>cp -Rf hackmysql.com /opt</p> <p>cd /opt/hackmysql.com</p> <p>cp -Rf . /opt/monitorMySQL</p> <p>rm -rf hackmysql.com</p> <p>cd /opt/monitorMySQL/mysqlsla</p> <p>perl Makefile.PL</p> <p>make &amp;&amp; make install<br>结果:</p> <p>cp lib/mysqlsla.pm blib/lib/mysqlsla.pm<br>cp bin/mysqlsla blib/script/mysqlsla<br>/usr/bin/perl -MExtUtils::MY -e 'MY-&gt;fixin(shift)' -- blib/script/mysqlsla<br>Manifying blib/man3/mysqlsla.3pm<br>Installing /usr/local/share/perl5/mysqlsla.pm<br>Installing /usr/local/share/man/man3/mysqlsla.3pm<br>Installing /usr/local/bin/mysqlsla<br>Appending installation info to /usr/lib64/perl5/perllocal.pod</p> <p>2、安装其他包<br>yum -y install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-Time-HiRes perl-DBI perl-DBD-MySQL</p> <p>列出本次安装包<br>yum list perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-Time-HiRes perl-DBI perl-DBD-MySQL</p> <p>lt:表示日志类型,有slow, general, binary, msl, udl。<br>sf:\[+-\]\[TYPE\],\[TYPE\]有SELECT, CREATE, DROP, UPDATE, INSERT,例如”+SELECT,INSERT”,不出现的默认是-,即不包括。<br>db:要处理哪个库的日志。<br>top:表示取按规则排序的前多少条。<br>sort:按某种规则排序,t\_sum:按总时间排序;c\_sum:按总次数排序;c\_sum\_p: sql语句执行次数占总执行次数的百分比。</p> <p>#开启慢查询日志项配置</p> <p>参考文件mysql性能优化之优化配置my.cnf文件:http://www.cnblogs.com/NiceTime/p/6848132.html</p> <p>slow\_query\_log\_file=/opt/mysql/data/slow.log 需根据你安装的mysql慢查询日志路径为准。</p> <p><br>#执行时间最长的20条sql语句(默认按时长)<br>\[root@localhost mysqllog\]# mysqlsla -lt slow --sort t\_sum --top 20 /opt/mysql/data/slow.log</p> <p><br>#统计慢查询文件中所有select的慢查询sql,并显示执行时间最长的20条sql语句<br>\[root@localhost mysqllog\]# mysqlsla -lt slow -sf "+select" -top 20 /opt/mysql/data/slow.log</p> <p><br>#统计慢查询文件中的数据库为test的所有select和update的慢查询sql,并查询次数最多的20条sql语句,并写到sql\_num.log中<br>\[root@localhost mysqllog\]# mysqlsla -lt slow -sf "+select,update" -top 20 -sort c\_sum -db test /opt/mysql/data/slow.log &gt;/usr/local/src/slow\_ip\_db\_yymm.log</p> <p>mysqlsla -lt slow -sf "+select,insert,update,delete" -top 10 -sort t\_sum -db tps138\_com /tmp/logs/mysql-slow.log &gt;/usr/local/src/slow\_112\_tps138\_com\_080901.log</p> <p><br>#mysqlsla输出格式说明:<br>queries total: 总查询次数,unique: 去重后的sql数量<br>Sorted by: 输出报表的内容排序<br>Count : sql的执行次数及占总的slow log数量的百分比<br>Time : 执行时间, 包括总时间, 平均时间, 最小, 最大时间, 时间占到总慢sql时间的百分比<br>95% of Time : 去除最快和最慢的sql, 覆盖率占95%的sql的执行时间<br>Lock Time : 等待锁的时间<br>95% of Lock : 95%的慢sql等待锁时间<br>Rows sent : 结果行统计数量, 包括平均, 最小, 最大数量<br>Rows examined : 扫描的行数量<br>Database : 属于哪个数据库<br>Users : 哪个用户,IP,占到所有用户执行的sql百分比<br>Query abstract: 抽象后的sql语句<br>Query sample : sql样例语句</p> <p><br>#如果出现该问题<br>failed: Access denied for user 'root'@'192.168.64.129' (using password: YES) at ./mysqlreport line 249</p> <p>可先在配置文件<br>/etc/my.cnf中<br>\[client\]<br>host=localhost<br>user=xxx<br>password=xxx</p> <p>重启数据库后<br>在执行该语句<br>mysql&gt;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');<br>mysql&gt;fulsh privileges;</p> <p>之后再注释以下配置项<br>/etc/my.cnf中<br>\[client\]<br>host=localhost<br>user=xxxm<br>password=xxx</p> <p><br>./mysqlsla -lt slow -sf "+select,update,delete,insert" -top 10 -sort t\_sum -db tps138 /data/mysql3306/data/slow.log</p> <p>然后再执行<br>cd /opt/monitorMySQL/mysqlreport</p> <p>#本地直播APP<br>./mysqlreport --host 192.168.1.1 --user root --password 123456 --port 3306 --flush-status --no-mycnf --outfile /usr/local/src/mysqlreport\_1.csv</p> <p>原文地址:https://www.cnblogs.com/NiceTime/p/6662939.html</p> </div>
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )