MySQL慢查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中去
以上是关于MySQL慢查询的主要内容,如果未能解决你的问题,请参考以下文章