-- 查看慢查询日志是否开启
show variables like '%slow_query_log%';
-- 开启慢查询日志,只对当前数据库生效,并且重启数据库后失效
set global slow_query_log = 1;
这里设置为0 ,记录下所有查询日志时常。(只有大于这个值的query才会被记录到slow log)
set long_query_time=0;
-- 查看慢查阈值
show variables like '%long_query_time%';
然后执行查询语句,在对应的文件路径下打开luoyuslow.log.
在win10上,要永久生效则修改配置文件my.ini(linux 上为my.cnf) 默认安装路径在:C:\Program Files\MySQL\MySQL Server 8.0
查看有多少条慢查询记录。
show global status like '%Slow_queries%';
注意,一般网上搜到的my.ini日志内容中关于slow_log_query_file都是如下的:
slow_query_log_file =luoyu.log
此配置不对,应该要填上完整的路径。 如下所示:
slow_query_log_file = C:\Program Files\MySQL\MySQL Server 8.0\data\luoyuslow.log
如果在MySQL路径下有权限原因无法修改my.ini文件。可以将文件剪切到别的目录,改完后在放回来。 修改完后,需要重启mysql服务。 使用管理员权限打开终端:使用如下命令停起mysql:
net stop msyql # 停止
net start msyql # 启动
分析slow log的工具: mysqldumpslow