一、在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%';
说明已经开启慢查询,然后输入一条慢查语句
select sleep(8);
可以在slow.log中看到
说明慢查已经开启成功。
安装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
就可以查看分析结果了
使用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