默认关闭,除非需要查看慢sql日志,平时不要打开
以下设置都是临时有效,重启数据库后会失效,想要永久生效需要修改配置文件进行配置
查看慢查询日志状态及存储路径:
SHOW VARIABLES LIKE 'slow_query_log%'
slow_query_log ON
slow_query_log_file /var/lib/mysql/88eec0ff40aa-slow.log
打开慢查询日志:
SET GLOBAL slow_query_log=1
查看慢查询超时时间:
SHOW VARIABLES LIKE 'long_query_time%'
设置慢查询日志超时时间:
SET GLOBAL long_query_time=3 # 设置为3秒,需要重新连接或打开一个新的会话,才能查看新设置的超时时间
模拟一个慢查询sql,方便测试:
SELECT sleep(4);
查看有几条慢sql:
SHOW GLOBAL STATUS LIKE '%slow_queries%'
慢sql日志分析工具mysqldumpslow:
可以查询如下信息:
- s:表示何种方式排序
- c:访问次数
- l:锁定时间
- r:返回记录数
- t:查询时间
- al:平均锁定时间
- ar:平均返回记录数
- at:平均查询时间
- t:返回前面多少条数据
- g:后面搭配一个正则匹配模式,大小写不敏感
案例:
返回记录集最多的10个sql:
访问次数最多的10个sql:
按时间排序的前10个里面包含左连接的sql: