(转)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