Chinaunix首页 | 论坛 | 博客
  • 博客访问: 493931
  • 博文数量: 51
  • 博客积分: 257
  • 博客等级: 二等列兵
  • 技术积分: 1489
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-02 18:30
个人简介

Unix/Linux, mysql, web,企业应用

文章分类

全部博文(51)

文章存档

2015年(1)

2014年(1)

2013年(48)

2012年(1)

我的朋友

分类: Mysql/postgreSQL

2013-01-10 12:36:00

开启mysql的慢查询日志记录方法有好多种,可以在启动mysql时通过命令行传参,也可以在配置文件里设置,但是这两种方法都需要重启mysql,而且如果不需要记录慢查询日志了,又要重启mysql,这对于已经投入运营的MySQL是不可接受的。
幸好在mysql5.1中已经为我们提供了在线设置慢查询日志的方法,通过设置mysql系统变量就可以达到这个目的。这样就不用重启mysql了。

在线开启慢查询日志:

  1. mysql > set global slow_query_log=1;
  2. mysql > set global long_query_time=2;
  3. mysql > set global slow_query_log_file='mysql-slow.log';

如果不需要记录慢查询了,可以很方便的关闭:


  1. mysql > set global slow_query_log=0;

注意:在5.1.29以前用的是log_slow_queries变量,5.1.29及之后的版本log_slow_queries变量就用slow_query_log变量代替了。slow_query_log指定开启还是关闭,slow_query_log_file指定日志文件filename,long_query_time指定慢查询的值。

注意2:long_query_time变量从MySQL 5.1.21开始,可以被设置的最小值为0,且精度可以被设置到微秒级(例如值可以被设置为 1.000002,即1秒又2微秒);而在5.1.21之前的版本,这个变量可以被设置的最小值为1,且只能为整型。


阅读(5008) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~