慢查询日志会把查询耗时超过规定时间的SQL语句记录下来,利用慢查询日志,定位分析性能的瓶颈。
slow_query_log 可以设置慢查询日志的开闭状态
long_query_time 可以规定查询超时的时间,单位是秒
# 查看慢查询相关配置
SHOW VARIABLES like 'slow_query%';
# 配置
slow_query_log = ON
long_query_time = 1
set global slow_query_log =[on/off]
# 最好能与 data分开
set global slow_query_log_file = /aaa/aaa.log
set global long_query_time = xx.xxx 秒
# 记录未使用索引的SQL
set global long_queries_not_using_indexes = [on|off]
工具
mysqldumpslow [OPTS....] [LOGS...]
mysqldumpslow -s r -t 10 slow-mysql.log
-s 排序 (c总次数,t总时间,l锁的世界,r总行数,at,al,ar) a`x`是平均 例at= 总时间/总次数
-t top 指定取前几条
pt-query-digest [OPTIONS] [FILES] [DSN]
pt-query-digest --explain h=127.0.0.1,u=root,p=password slow-mysql.sql > slow.rep
--explain 带有解释
> 输出到指定文件
实时监控
select id,`user`,`host` ,`DB`,`command`,time,state,info
->FROM information_schema.PROCESSLIST
-> WHERE TIME >=10;
本文地址:https://blog.csdn.net/cocoa_geforce/article/details/110677264