long_query_time 设置不生效问题

由于原来的慢查询日志太大了,有1G多,并且其中包含上一次查询优化前的慢sql,所以想收集最近两天的慢查询语句,故

mysql> show global variables like 'slow%';
+---------------------+---------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------+
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /data/mysql_3301/slow_query.log |
+---------------------+---------------------------------+

将原日志备份

mv /data/mysql_3301/slow_query.log      /data/mysql_3301/slow_query_backup.log

新建了空的慢查询日志文件

vim /data/mysql_3301/slow_query.log

原来默认的慢查询时间为10s

通过mysql命令行设置全局变量set global long_query_time=2; 慢查询时间为2s,

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

mysql> show global variables like 'long%';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 2.000000 |
+-----------------+----------+
1 row in set (0.00 sec)

设置后执行

mysql> select sleep(3);
发现新的慢日志文件/data/mysql_3301/slow_query.log还是空的

mysql> select sleep(15);  slow_query.log还是空

很疑惑。。。

最后发现/data/mysql_3301/slow_query_backup.log一直在增长,这个文件的最后修改时间离系统时间很近

原来mysql将慢日志一直写到/data/mysql_3301/slow_query_backup.log中

mv  /data/mysql_3301/slow_query_backup.log   /data/mysql_3301/slow_query.log

cp  /data/mysql_3301/slow_query.log          /data/mysql_3301/slow_query_20140122.log

cat /dev/null > /data/mysql_3301/slow_query.log

一切好了。

[root@s7 mysql_3301]# ll /data/mysql_3301/
-rw-r--r-- 1 root root 1184185666 01-22 16:26 slow_query_20140122.log
-rw-rw---- 1 mysql mysql 2244 01-22 16:45 slow_query.log

mv只是更改文件名

 

转载于:https://www.cnblogs.com/hubo2/p/3530040.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值