Heim > Datenbank > MySQL-Tutorial > linux下mysql开启慢查询_MySQL

linux下mysql开启慢查询_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-01 13:12:15
Original
1209 Leute haben es durchsucht

mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者是大数据下多表的联合查询等等,所以我们要找出这些语句,分析原因,加以优化。

1、方法1:用命令开启慢查询

1)、查看默认慢查询的时间:

mysql> show variables like "%long%";+--------------------+-----------+| Variable_name      | Value     |+--------------------+-----------+| long_query_time    | 10.000000 || max_long_data_size | 1048576   |+--------------------+-----------+2 rows in set (0.24 sec)
Nach dem Login kopieren
2)、修改慢查询时间,建议设置为5秒以内,不要设置过大,不然就失去了慢查询的作用了。
mysql> set global long_query_time=2;Query OK, 0 rows affected (0.25 sec)
Nach dem Login kopieren
这里设置慢查询时间为2秒。

3)、查看慢查询是否开启

mysql> show variables like "%slow%";+---------------------+-----------------------------------------+| Variable_name       | Value                                   |+---------------------+-----------------------------------------+| log_slow_queries    | OFF                                     || slow_launch_time    | 2                                       || slow_query_log      | OFF                                     || slow_query_log_file | /usr/local/mysql/var/li411-195-slow.log |+---------------------+-----------------------------------------+4 rows in set (0.23 sec)
Nach dem Login kopieren
我们可以看到慢查询未开启。

4)、开启慢查询

mysql> set slow_query_log='ON';ERROR 1229 (HY000): Variable 'slow_query_log' is a GLOBAL variable and should be set with SET GLOBAL
Nach dem Login kopieren
报错了,这里需要注意一下的是设置时需要加上 global 关键字。
mysql> set global slow_query_log='ON';Query OK, 0 rows affected (1.11 sec)
Nach dem Login kopieren
再次查看是否开启:
mysql> show variables like "%slow%";+---------------------+-----------------------------------------+| Variable_name       | Value                                   |+---------------------+-----------------------------------------+| log_slow_queries    | ON                                      || slow_launch_time    | 2                                       || slow_query_log      | ON                                      || slow_query_log_file | /usr/local/mysql/var/li411-195-slow.log |+---------------------+-----------------------------------------+4 rows in set (4.04 sec)
Nach dem Login kopieren
我们可以看到mysql 慢查询已经生效了。

2、方法2:修改mysql配置文件my.cnf

在[mysqld]段中加入:
long_query_time = 2log-slow-queries = /usr/local/mysql/var/localhost-slow.log
Nach dem Login kopieren
重启mysql服务即可。

这里注意一下:自己在 lnmp 环境下通过 /etc/init.d/mysql reload 命令重载mysql服务没有成功开启慢查询,使用 /etc/init.d/mysql restart 命令成功开启了慢查询。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage