(转)linux下开启mysql慢查询,分析查询语句一,为什么要开启这个查询呢?
    linux下开启mysql慢查询,分析查询语句一,为什么要开启这个查询呢?
数据库是很容易产生瓶颈的地方,现在Nosql大家讨论这么热,估计都被数据库搞郁闷了。mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者是大数据下多表的联合查询等等,所以我们要找出这些语句,分析原因,加以优化。这也是发这篇博文的原因
二,开启mysql的慢查询
方法1,用命令开启慢查询
查看复制打印?
1.mysql> show variables like "%long%";         //查看一下默认为慢查询的时间10秒   
2.+-----------------+-----------+   
3.| Variable_name   | Value     |   
4.+-----------------+-----------+   
5.| long_query_time | 10.000000 |   
6.+-----------------+-----------+   
7.1 row in set (0.00 sec)   
8.  
9.mysql> set global long_query_time=2;          //设置成2秒,加上global,下次进mysql已然生效   
10.Query OK, 0 rows affected (0.00 sec)   
11.  
12.mysql> show variables like "%slow%";          //查看一下慢查询是不是已经开启   
13.+---------------------+---------------------------------+   
14.| Variable_name       | Value                           |   
15.+---------------------+---------------------------------+   
16.| log_slow_queries    | OFF                             |   
17.| slow_launch_time    | 2                               |   
18.| slow_query_log      | OFF                             |   
19.| slow_query_log_file | /usr/local/mysql/mysql-slow.log |   
20.+---------------------+---------------------------------+   
21.4 rows in set (0.00 sec)   
22.  
23.mysql> set slow_query_log='ON';                        //加上global,不然会报错的。   
24.ERROR 1229 (HY000): Variable 'slow_query_log' is a GLOBAL variable and should be set with SET GLOBAL   
25.mysql> set global slow_query_log='ON';            //启用慢查询   
26.Query OK, 0 rows affected (0.28 sec)   
27.  
28.mysql> show variables like "%slow%";              //查看是否已经开启   
29.+---------------------+---------------------------------+   
30.| Variable_name       | Value                           |   
31.+---------------------+---------------------------------+   
32.| log_slow_queries    | ON                              |   
33.| slow_launch_time    | 2                         &nbs