MySQL慢查询

一、本机环境
二、修改my.cnf配置
三、慢查询工具mysqlsla

一、本机环境

centos 7.2
mysql-5.7.9
安装目录:/application/mysql/

二、修改my.cnf配置

vim /etc/my.cnf
添加:
slow_query_log=1
slow_query_log_file=/application/mysql/data/slow.log
long_query_time=1
log-queries-not-using-indexes=on

然后重启MySQL

三、慢查询工具mysqlsla

1、工具安装

首先,安装所需的依赖

yum install -y perl  perl-DBI  perl-DBD-MySQL perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

其次,编译解压

tar xvf mysqlsla-2.03.tar.gz -C /usr/local/ && cd /usr/local/src/mysqlsla-2.03

最后,编译安装

perl Makefile.PL && make && make install

2、msyqlsla的使用

mysqlsla -lt slow --sort t_sum --top 20 mysql-slow.log > /tmp/select.log

// 查询记录最多的20个sql语句,并写到select.log中去。

mysqlsla -lt slow  -sf "+select" -top 100  mysql-slow.log >/tmp/sql_select.log

// 统计慢查询文件为mysql-slow.log中的所有select的慢查询sql,并显示执行时间最长的100条sql,并写到sql_select.log中去

mysqlsla -lt slow  -sf "+select,update" -top 100 -sort c_sum  -db mydata mysql-slow.log >/tmp/sql_num.log

// 统计慢查询文件为mysql-slow.log的数据库为mydata的所有select和update的慢查询sql,并查询次数最多的100条sql,并写到sql_num.sql中去

相关推荐