开启MySQL慢查询日志

查询慢日志开关是否开启

show variables like 'slow_query_log';

打开慢查询日志开关

set global slow_query_log=1
image.png

再次查询,发现开关打开了


image.png
image.png

查询mysql安装路径

show variables like '%char%';
image.png

慢查询日志默认是放在mysql的data目录下,并且文件名为host_name-slow.log即 主机名-slow.log

也可以手动设置慢查询日志记录路径

set global slow_query_log_file='/usr/local/mysql/sql_log/mysql_slow.log';

报错了,因为设置慢查询日志时,设置的目录必须存在,且具有读写权限


image.png

我们创建一下sql_log目录,并给读写权限再执行就可以了


image.png

设置记录未使用索引的sql

set global log_queries_not_using_indexes=on;
image.png

设置超时记录时间为1S,默认为10S

set global long_query_time=1;

测试sql语句

select sleep(2);

去查看一下慢查询日志是否记录


image.png

慢查询日志记录的信息:

//执行时间
# Time: 2019-05-28T14:29:47.542128Z
//执行SQL的主机信息
# User@Host: root[root] @ localhost []  Id:    13
//SQL的执行信息
# Query_time: 2.005294  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
//SQL执行时间
SET timestamp=1559053787;
//SQL的内容
select sleep(2);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据库日志记录了用户对数据库的各种操作及数据库发生的各种事件。能帮助数据库管理员追踪、分析问题。MySQL提供了错...
    一位先生_阅读 2,767评论 0 0
  • 配置参数解释: 使用set global slow_query_log=1 开启慢查询日志只对当前数据库生效,要永...
    Y了个J阅读 2,144评论 0 0
  • 日精进:敬畏—进入——交给—持续 1,缺啥补啥,怕啥练啥; 2,一切为我所用,所用为团队家; 3,我想变,我要变,...
    zhabei阅读 1,690评论 0 0
  • 情歌好听却难唱,人生好过却难走
    半根追忆烟阅读 721评论 0 1
  • 在理财中,我们经常会听到,场内和场外。 那么,场内和场外是什么意思呢?这个“场”,是证券交易场所的意思。我们内地有...
    顾尘埃阅读 14,108评论 0 6