性能优化-MySQL慢查日志分析工具(pt-query-digest)

5、MySQL慢查日志分析工具(pt-query-digest)

1、介绍及作用

作为一名优秀的mysql dba也需要有掌握几个好用的mysql管理工具,所以我也一直在整理和查找一些能够便于管理mysql的利器。以后的一段时间内,将会花一大部分的精力去搜索这些工具。

性能的管理一直都是摆在第一位的,dba的很多工作管理层都看不到也没有办法衡量价值,但是如果一个系统慢的跟蜗牛一样,dba通过监控调优把系统从崩溃边 缘重新拉回到高铁时代。这种价值和触动应该是巨大的。(很多企业的领导认为系统跑不动了就需要换更快的CPU、更大的内存、更快的存储,而且这还不是少 数,所以DBA的价值也一直体现不出来,薪水自然也就不会很高)

mysql 的日志是跟踪mysql性能瓶颈的最快和最直接的方式了,系统性能出现瓶颈的时候,首先要打开慢查询日志,进行跟踪;这段时间关于慢查询日志的管理和查看 已经整理过两篇文章了,不经意间又发现了一个查看慢查询日志的工具:mk-query-digest,这个工具网上号称mysql dba必须掌握的十大工具之首。

2、安装pt-query-digest工具

1.1、快速安装(注:必须先要安装wget)

wget https://www.percona.com/downloads/percona-toolkit/2.2.16/RPM/percona-toolkit-2.2.16-1.noarch.rpm && yum localinstall -y  percona-toolkit-2.2.16-1.noarch.rpm

1.2、检查是否安装完成:

命令行中输入:pt-summary
显示如下图所示:说明安装成功!输入【[root@node03 mysql]# pt-query-digest --help
性能优化-MySQL慢查日志分析工具(pt-query-digest)_第1张图片
性能优化-MySQL慢查日志分析工具(pt-query-digest)_第2张图片

1.3、工具使用简介:

pt-summary –help

wget http://percona.com/get/pt-summary

1、查看服务器信息

命令:pt-summary

2、查看磁盘开销使用信息

命令:pt-diskstats

3、查看mysql数据库信息

命令:pt-mysql-summary --user=root --password=123456

性能优化-MySQL慢查日志分析工具(pt-query-digest)_第3张图片
4、分析慢查询日志

命令:pt-query-digest /data/mysql/data/db-3-12-slow.log

5、查找mysql的从库和同步状态

命令:pt-slave-find --host=localhost --user=root --password=123456

6、查看mysql的死锁信息

pt-deadlock-logger --user=root --password=123456 localhost

7、从慢查询日志中分析索引使用情况

pt-index-usage slow_20131009.log

8、查找数据库表中重复的索引

pt-duplicate-key-checker --host=localhost --user=root --password=123456

9、查看mysql表和文件的当前活动IO开销

pt-ioprofile

10、查看不同mysql配置文件的差异

pt-config-diff /etc/my.cnf /etc/my_master.cnf

11、pt-find查找mysql表和执行命令,示例如下

查找数据库里大于2G的表:

pt-find --user=root --password=123456 --tablesize +2G

查找10天前创建,MyISAM引擎的表

pt-find --user=root --password=123456 --ctime +10 --engine MyISAM

查看表和索引大小并排序

pt-find --user=root --password=123456 --printf "%T\t%D.%N\n" | sort -rn

12、pt-kill 杀掉符合标准的mysql进程

显示查询时间大于60秒的查询

pt-kill --user=root --password=123456 --busy-time 60 --print

kill掉大于60秒的查询

pt-kill --user=root --password=123456 --busy-time 60 --kill

13、查看mysql授权

1、pt-show-grants --user=root --password=123456
2、pt-show-grants --user=root --password=123456 --separate –revoke

14、验证数据库复制的完整性

pt-table-checksum --user=root --password=123456

15、附录:
性能优化-MySQL慢查日志分析工具(pt-query-digest)_第4张图片

你可能感兴趣的:(性能优化)