mysql 慢查询配置

1、需要更改的配置文件

    如果是window 环境的话,在mysql server 安装目录下找到my.ini 文件,然后将配置添加进去即可,具体可参照Linux的配置。

    如果是Linux版的话,首先去找my.cnf文件,并不在安装目录下,一般都在/etc  下面。

2、修改配置文件

     以Linux为例,打开my.cnf,找到[mysqld]的配置不是[mysql]的配置,然后在下面加上两句话

      log-slow-queries=/usr/data/mysqlslowlog/slowquery.log 

      long_query_time=2

    其中路径是我亲自建的,不知道是否系统会自己创建,log文件,系统会自动创建。

3、重启 mysql 服务  service mysql restart

4、查看配置是否生效

      可在mysql 命令行上打上 命令  

           show variables like '%quer%';

    查看 log-slow-queries 是否为on;

   接着去看刚才的log日志是否自动创建了,如果有,说明创建成功了。

5、校验是否可以记录大于自己设定的多少秒的语句(我设定的为两秒)

      在mysql命令行输入  select sleep(2);   执行

      去log日志中查看是否记录上。记录上说明配置生效了。

由于log日志记录的文件不便于阅读,所以需要借助工具进行查看。

可以通过mysql自带的命令mysqldumpslow 。(该命令是在Linux下执行的,而不是在mysql命令行下)

常用参数说明:

分析日志,可用mysql提供的mysqldumpslow,使用很简单,参数可–help查看

# -s:排序方式。c , t , l , r 表示记录次数、时间、查询时间的多少、返回的记录数排序;
#                             ac , at , al , ar 表示相应的倒叙;
# -t:返回前面多少条的数据;
# -g:包含什么,大小写不敏感的;
mysqldumpslow -s r -t 10   /usr/data/mysqlslowlog/slowquery.log  #slow记录最多的10个语句
mysqldumpslow -s t -t 10 -g "left join"  /usr/data/mysqlslowlog/slowquery.log   #按照时间排序前10中含有"left join"的

还有朋友推荐用mysqlsla,需要下载安装,还未尝试。

参考文档:http://www.2cto.com/database/201207/143358.html

http://www.cnblogs.com/wrmfw/archive/2011/09/05/2166929.html

猜你喜欢

转载自yanzhenwei.iteye.com/blog/1688415