MySQL慢查询日志

慢查询日志

MySQL的慢查询日志是用来记录MySQL响应时间超过阈值的语句,即为超过long_query_time值得sql语句

默认没有开启慢查询(如果开启慢查询会导致性能降低)

慢日志配置

查看是否开启慢查询

sql 复制代码
show variables like '%slow_query_log%';

开启慢查询

sql 复制代码
#只对当前数据库生效,如果重启则失效
set global slow_query_log = 1;

查看慢查询日志文件位置

sql 复制代码
show variables like '%slow_query_log_file%';

如果需要永久生效,在需要在my.cnf配置文件中配置

在[mysqld]下添加slow_query_logslow_query_log_file参数,然后重启服务器即可

查询慢查询阈值,超过该阈值才是慢查询

sql 复制代码
show variables like '%long_query_time%';

查看有多少条慢查询

sql 复制代码
show global status  like '%Slow_queries%';

还可以记录未使用索引的sql语句

sql 复制代码
show variables like '%log_queries_not_using_indexes%';

查询慢查询日志的存储格式

sql 复制代码
--    可以是FILE(存储在slow_query_log_file中),也可以是TABLE(存储在mysql.slow_log表中),如果配置为FILE,TABLE则同时存入文件和表中
show variables like '%log_output%';

日志分析工具

mysqldumpslow

可以使用mysqldumpslow来进行日志分析,以一种汇总各式输出慢查询日志中的内容,将查询进行分组

sql 复制代码
mysqldumpslow [ OPTS... ] [ LOGS... ] 

-----------------------------
参数
-s  按照何种方式排序
			c  访问次数
			l  锁定时间
			r  返回记录
			t  查询时间
			al 平均锁定时间
			ar 平均返回记录数
			at 平均查询时间  默认at
-t  num 返回前面多少条的数据(top n)
-g  正则
-v  输出详细信息

在使用时可能会报错

-bash: /usr/local/mysql/bin/mysqldumpslow: /usr/bin/perl: bad interpreter: No such file or directory

说明是缺少perl,进行安装即可

yum -y install perl perl-devel

pt_query_digest

pt-query-digest(官网地址www.percona.com/doc/percona... log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分析结果找出问题进行优化。

zhhll.icu/2021/数据库/关系...

本文由mdnice多平台发布

相关推荐
Lhan.zzZ4 分钟前
Qt绘制残留问题排查与修复日志
开发语言·数据库·qt
岙利岙6 分钟前
MySQL使用jemalloc作为内存分配器
数据库·mysql·jemalloc
老年DBA12 分钟前
PostgreSQL BRIN索引揭秘
数据库·postgresql
小光学长16 分钟前
基于微信小程序的评奖评优系统51r12nd0(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·微信小程序·小程序
煎蛋学姐20 分钟前
SSM校园扶助综合服务平台的设计与实现r941j(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·校园扶助平台
ℳ₯㎕ddzོꦿ࿐21 分钟前
企业级 MySQL 8.0 物理备份实践:使用 XtraBackup 实现全量与增量自动备份
数据库·mysql
羊小猪~~25 分钟前
数据库学习笔记(十八)--事务
数据库·笔记·后端·sql·学习·mysql
optimistic_chen38 分钟前
【Redis 系列】常用数据结构---ZSET类型
数据结构·数据库·redis·xshell·zset·redis命令
cike_y40 分钟前
Spring整合Mybatis:dao层
java·开发语言·数据库·spring·mybatis
小蒜学长42 分钟前
足球联赛管理系统(代码+数据库+LW)
java·数据库·spring boot·后端