Mysql 慢查询日志入门学习

5 篇文章 0 订阅
3 篇文章 0 订阅

Mysql 慢查询日志

show variables like '%query%';

slow_query_log : 表示是否开启慢查询日志记录 (OFF关闭  ON开启)

slow_query_log_file:慢查询日志文件存储地址(docker情况下该地址是docker容器中的地址)

开启关闭慢查询

1. 命令行设置(临时生效)

# ON 开启、OFF 关闭

set global slow_query_log='ON';  

# 日志存放位置,windows:'D://slow_query.log'   linux: '/home/slow_query.log'

set global slow_query_log_file='/home/slow_query.log';

# 设置sql查询时间大于等于1秒就记录到慢查询日志中

set global long_query_time=1;

2. 配置文件修改

vim my.cnf

# 在 [mysqld]  下编辑或添加

slow_query_log = ON 

slow_query_log_file = /home/slow_query.log 

long_query_time = 1

# 修改配置文件之后需要重启mysql 

systemctl restart mysqld.service

# docker 重启方法 docker restart mysql(容器名称)

3. 验证

# sql 执行,生成慢查询日志
select sleep(10);

# 到服务器查看日志
# Time: 2021-02-08T05:25:30.675299Z
# User@Host: root[root] @  [10.165.153.209]  Id:    13
# Query_time: 10.000958  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
# SET timestamp=1612761930;
# select sleep(10);
 
# 观察是否有小于设置时间的日志记录,如果有的话,查看 log_queries_not_using_indexes 是否开启。
show variables like 'log_queries_not_using_indexes';

# 如果开启的话,会把没有使用到索引的SQL也存放到慢查询日志中,根据自己需求进行操作。
# 不需要的话就关掉
set global log_queries_not_using_indexes = 0;

# 再次观察服务器日志,看是否正常输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值