开启慢sql的配置
临时开启,重启mysql后失效
set global slow_query_log=1;
通过配置,永久开启
在my.cnf 文件中添加下面两行:
slow_query_log =1
slow_query_log_file=/tmp/mysql/DB-Server-slow.log
查看配置
执行show variables like ‘%slow_query_log%’;
slow_query_log 为ON表示慢sql记录已经打开
slow_query_log_file 是存放慢sql的log文件名称
long_query_time = 1 表示超过1秒的sql会被记录为慢sql
执行一条慢sql
select sleep(2);
这条sql会等待2s后返回空的结果。
查看慢sql
我是通过docker容器启动的mysql,进入容器后找到存放慢sql的文件
cat DB-Server-slow.log
可以发现我们已经找到记录的慢sql
分析慢sql
在mysql中执行explain sql 即可查看到对应慢sql的执行信息;