mysql慢查询设置

 不同版本的mysql命令和配置不一样,以下是2个版本

 

修改配置文件

log-slow-queries=/alidata/mysql-log/mysql-slow.log
long_query_time = 1  定义查过多少秒的查询算是慢查询,我这里定义的是2秒
log-queries-not-using-indexes 没有使用索引的query
slow_query_log = 'ON'
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1

这段放到[mysqld]下面,重启mysql

验证慢查询是否开启

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

show variables like 'slow_query%';
show variables like 'long_query_time';

命令开启

set global log_slow_queries = on;                               # 开启慢日志
set [session|global]  long_query_time =0.2               # 设置时间.精确的毫秒
set global  log_queries_not_using_indexes = on;   # 设置无索引的查询


set global slow_query_log='ON';
set global slow_query_log_file='/usr/local/mysql/data/slow.log';
set global long_query_time=1;
=================华丽的分割线========================

查询当前 long_query_time 的时间

修改long_query_time为10;

mysql> set global long_query_time=10;
Query OK, 0 rows affected (0.00 sec)

查询还是20,没有变化

最后发现,应该按这种方式查询

mysql> show global variables like "long_query_time";

 

注:重启mysql配置失效,加载到配置文件中即可。

 

posted @ 2019-05-08 18:04  MR__Wang  阅读(261)  评论(0编辑  收藏  举报