最近为公司做了个几十个人用的小项目,使用的mysql-8.0.26数据库,在运行过程中发现偶尔会卡一下,初步怀疑是sql写的不规范,所以想要开启一下mysql的慢查询日志,确定一下那些sql有问题。
注:因为懒,直接用navicat开搞。
查看数据库是否已经开启了慢查询日志,默认是关闭的。
show variables like '%query%';
查询结果如下:
slow_query_log慢查询日志是关闭的
slow_query_log_file是慢查询日志文件位置
long_query_time是超时时间,超过这个数即为慢查询
打开慢日志开关
set global slow_query_log='ON';
查看慢查询日志的输出方式,mysql支持TABLE和FILE两种方式
show variables like '%log_output%';
查询结果如下
修改输出方式
set global log_output='FILE,TABLE';
测试,由于超时时间为10秒,所以我们
select sleep(11);
需要等待
select * from mysql.slow_log;
去慢查询日志文件位置,打开文件查看