mysql开启慢查询

时间:2022-02-11 13:11:06

linux下:

一.在mysql中查询是否开启了慢查询
mysql>SHOW VARIABLES  LIKE '%slow%';

Variable_name     Value
log_slow_queries     OFF

表示未开启

//查看慢查询时间
show variables like "long_query_time";
//查看慢查询配置情况
show status like "%slow_queries%";
//查看慢查询日志路径
 show variables like "%slow%";

注解:

slow_launch_time的设定跟慢查询日志的查询阀值设定不同,表示了thread create的一个阀值,如果thread create的时间超过了这个值,这变量slow_launch_time的值加1.

而设置Long_query_time表示超过多少秒的查询就写入日志,默认的是10s,设置为0的话表示记录所有的查询。在Mysql 5.5可以追踪到微秒的查询。

二.配置

 

1.my.cnf配置
在my.cnf中的[mysqld]中添加如下语句:
#slow query
log-slow-queries=/data/var/log/mysql/mysql_slow_query.log
long_query_time=1

以上标示慢查询存放位置,将查询需要多少秒的sql语句记录.long_query_time如果为0,将记录所有查询
重启mysql

2.在mysql中配置,不重启mysql配置(该配置重启mysql将丢失)

mysql>show variables like ”%long%”;         //查看一下默认为慢查询的时间10秒

mysql> show variables like ”%long%”;    //查看一下慢查询是不是已经开启

mysql> set global long_query_time=2;          //设置成2秒,加上global,下次进mysql已然生效

mysql> show variables like ”%slow%”;          //查看一下慢查询是不是已经开启

mysql> set global slow_query_log=’ON’;            //启用慢查询

mysql> show variables like ”%slow%”;              //查看是否已经开启