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慢查询的主要内容,如果未能解决你的问题,请参考以下文章

mysql数据库插入数据很慢

Logstash分析MySQL慢查询日志

MySQL慢查询日志分析

什么是慢查询?

开启mysql慢查询日志并使用mysqldumpslow命令查看

MySQL 8.0.15 大坝慢选查询