查看慢SQL日志
1、查看慢日志设置
show variables like 'slow_query_log%';
2、设置慢日志开关
-- 关闭
SET GLOBAL slow_query_log = 'OFF';
-- 开启
SET GLOBAL slow_query_log = 'ON';
3、查看慢日志阈值,即SQL执行时间超过阈值后,才会记录在慢日志文件中
修改慢日志阈值
SET GLOBAL long_query_time = 5;
注意:
set global long_query_time=5;为啥无效呢,再查还是原来的10,修改之后,先关闭数据库连接,再重新连接,再次查询就可以看到实际上是修改了的。
4、查看慢日志文件:
慢日志文件大致内容:
使用yum安装pt-query-digest
要在Linux上安装pt-query-digest,您可以通过Percona软件仓库进行安装。以下是安装pt-query-digest的详细步骤:
1、添加Percona软件仓库
Percona 软件仓库是一个由 Percona 公司维护的软件源,用于向用户提供 Percona 产品和相关工具的软件包。Percona 通过这个软件仓库向用户分发其数据库软件、工具和库,例如 Percona Server for MySQL、Percona XtraDB Cluster、Percona Toolkit 等。 |
安装命令:
sudo yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
2、安装Percona工具包
sudo yum install percona-toolkit
3、验证安装
pt-query-digest --version
这将显示pt-query-digest的版本信息,表示安装成功。
成功安装了pt-query-digest后,就可以开始使用该工具来分析和解释MySQL查询日志。
日志分析
通过命令分析慢日志文件 pt-query-digest VM-8-15-centos-slow.log
pt-query-digest VM-8-15-centos-slow.log
文件概览解析:
1、整体概况部分:
提供了系统资源的使用情况,比如用户时间、系统时间、内存占用等。同时还包括了当前时间、主机名、文件名和查询总体统计信息,如总查询数、唯一查询数、查询峰值并发度等。
2、查询执行时间统计部分:
该部分列出了数据库查询的关键性能指标,包括执行时间、锁定时间、发送的行数、检查的行数和查询大小的统计信息。
3、查询性能排名部分:
列出了前三个查询的性能排名,包括查询ID、响应时间、调用次数和响应时间/调用次数的比率。
4、各个查询详细信息部分:
对每一个查询进行了详细的性能分析,包括执行时间、锁定时间、发送的行数、检查的行数、查询大小以及其他相关信息。还包括了有关查询时间分布、表格以及转换为EXPLAIN格式的查询语句等信息。
最后,拿到慢SQL语句后,通过explain 分析SQL的执行计划,进行SQL优化。