一、在mysql 配置文件中my.cnf 中 位置是/usr/local/mysql(这是源码包安装的mysql路径),如果是yum安装的路径是vim /etc/my.cnf。

二、在my.cnf中mysqld 下面添加mysql5.6的配置

slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 0.001    

如果是mysql5.1的配置是

log-slow-queries= /var/log/slow.log
long_query_time = 0.01

单位是秒,然后重启mysql,service mysql restart (5.6启动方法) ,service mysqld restart(5.1启动方法)。然后进入mysql 中输入命令

show variables like 'slow%';  

mysql5.6配置慢查询 及安装pt-query-digest,检查重复索引pt-duplicate-key-checker_源码包

说明已经开启慢查询,然后输入一条慢查语句

select sleep(8);

可以在slow.log中看到

mysql5.6配置慢查询 及安装pt-query-digest,检查重复索引pt-duplicate-key-checker_mysql_02

说明慢查已经开启成功。

安装pt-query-digest


源码包安装 


wget percona.com/get/percona-toolkit.tar.gz

tar zxf percona-toolkit.tar.gz

cd percona-toolkit-3.0.4

perl Makefile.PL PREFIX=/usr/local/percona-toolkit

如果出现这个报错

perl Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite DBD::mysql 3 not found.
Writing Makefile for percona-toolkit

需要安装

安装缺少的包
yum install perl-DBD-MySQL
然后,重新编译
perl Makefile.PL 
Writing Makefile for percona-toolkit
继续

make && make install

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

pt-query-digest /usr/local/mysql/data/slow.log

如果报错

Can't locate Digest/MD5.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at - line 693.

需要安装缺少的包 

yum -y install perl-Digest-MD5

最后再执行 

pt-query-digest /usr/local/mysql/data/slow.log

就可以查看分析结果了

mysql5.6配置慢查询 及安装pt-query-digest,检查重复索引pt-duplicate-key-checker_源码包_03



使用pt-duplicate-key-checker工具检查重复及冗余索引 

pt-duplicate-key-checker -uroot -p‘123456’ -h 127.0.0.1



看哪些索引是不使用的,在mysql中通过慢查日志配合pt-index-usage 工具来进行索引使用情况的分析。

pt-index-usage -uroot -p'123456' mysql-slow.log