慢查询日志是什么?
默认情况下,MySQL数据库没有开启慢查询日志
,需要手动设置如果不是调优需要的话,一般不建议开启
,因为会对性能带来影响,慢查询日志支持将日志记录写入文件- 查看是否开启:
show variables like '%slow_query_log%'
; - 开启:
set global slow_query_log=1;
只对当前数据库生效
,MySQL重启后会失效 - 日志位置
多久会被记录?
- 查看多久算慢:
- 设置阈值时间:
set global long_query_time=3;
; - 需要
重新连接或新开一个会话
才能看到修改值,或者show global variables like 'long_query_time';
。 - 查看慢查询日志
- 查看有多少条慢SQL:
show global status like '%slow_querys%';
- 配置:
日志分析工具:
- 再生产环境中,如果要手工分析日志,查找,分析SQL,显然是个体力活,MySQL提供了日志分析工具
mysqldumpslow
- 语句命令
- 例子