mysql慢日志开启并分析简介

本文详细介绍如何在MySQL中开启慢查询,包括临时性和长时间开启的方法,修改配置文件及重启服务的步骤。同时,解析pt-query-digest工具分析慢查询日志的输出结果,帮助理解查询性能瓶颈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 开启慢查询

– 查看

show variables like 'slow_query%';
show variables like 'long_query_time';
show variables like 'log_queries_not_using_indexes';

临时性开启慢日志

– 开启+设置 使用root用户,关闭连接后重新查询可看到修改后的值,只在当前服务有效,mysql重启后配置会还原回10,永久生效需修改配置文件;

set global slow_query_log='ON';
set global slow_query_log_file='/usr/local/mysql/data/slow.log';
set global log_queries_not_using_indexes='ON';
set global long_query_time=1;

长时间开启慢日志

修改my.cnf,在[mysqld]下的下方加入配置

[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1
log_queries_not_using_indexes = 1

修改完配置文件记得重启sql服务
service mysqld restart
或者
systemctl restart mysql


注释
slow_query_log       慢查询开启状态
slow_query_log_file  慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)
long_query_time       查询超过多少秒才记录
log_queries_not_using_indexes    如果运行的SQL语句没有使用索引,则mysql数据库同样会将这条SQL语句记录到慢查询日志文件中

分析pt-query-digest输出结果


 1. 第一部分:总体统计结果

= 该工具执行日志分析的用户时间,系统时间,物理内存占用大小,虚拟内存占用大小
= 910ms user time, 110ms system time, 25.95M rss, 220.34M vsz
= 工具执行时间
= Current date: Tue Jul 31 10:37:16 2018
= 运行分析工具的主机名
= Hostname: localhost.localdomain
= 被分析的文件名
= Files: mysql_slow_query.log
= 语句总数量,唯一的语句数量,QPS,并发数
= Overall: 6 total, 1 unique, 0.01 QPS, 0.01x concurrency ________________
= 日志记录的时间范围
= Time range: 2018-07-31 10:17:33 to 10:36:36
= 属性                总计    最小    最大    平均     95%    标准    中等
= Attribute          total     min     max     avg     95%  stddev  median
= ============     ======= ======= ======= ======= ======= ======= =======
= 语句执行时间
= Exec time            16s      1s      5s      3s      5s      2s      4s
= 锁占用时间
= Lock time              0       0       0       0       0       0       0
= 发送到客户端的行数
= Rows sent              6       1       1       1       1       0       1
= select语句扫描行数
= Rows examine           0       0       0       0       0       0       0
= 查询的字符数
= Query size            90      15      15      15      15       0      15

 2. 第二部分:查询分组统计结果

= Profile
= 语句排名   ID   响应时间       执行次数   平均每次执行响应时间  响应比率
= Rank Query ID                           Response time  Calls R/Call V/M 
= ==== ================================== ============== ===== ====== ====
=    1 0x59A74D08D407B5EDF9A57DD5A41825CA 16.0113 100.0%     6 2.6685  1.19 SELECT

 3. 每一种查询的详细统计结果

= Query 1: 0.01 QPS, 0.01x concurrency, ID 0x59A74D08D407B5EDF9A57DD5A41825CA at byte 790
= This item is included in the report because it matches --limit.
= Scores: V/M = 1.19
= Time range: 2018-07-31 10:17:33 to 10:36:36
= Attribute    pct   total     min     max     avg     95%  stddev  median
= ============ === ======= ======= ======= ======= ======= ======= =======
= Count        100       6
= Exec time    100     16s      1s      5s      3s      5s      2s      4s
= Lock time      0       0       0       0       0       0       0       0
= Rows sent    100       6       1       1       1       1       0       1
= Rows examine   0       0       0       0       0       0       0       0
= Query size   100      90      15      15      15      15       0      15
= String:
= Databases    test
= Hosts        192.168.80.1
= Users        root
= Query_time distribution
=   1us
=  10us
= 100us
=   1ms
=  10ms
= 100ms
=    1s  ================================================================
=  10s+
= EXPLAIN /*!50100 PARTITIONS*/
SELECT SLEEP(5)\G
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值