Maison > base de données > tutoriel mysql > le corps du texte

MySQL慢查询之开启慢查询的方法介绍

黄舟
Libérer: 2017-03-20 14:16:52
original
1262 Les gens l'ont consulté

开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。下面这篇文章主要介绍了关于MySQL开启慢查询的相关资料,需要的朋友可以参考下。

一、慢查询有什么用?

它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化.

二、参数说明

slow_query_log 慢查询开启状态

slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)

long_query_time 查询超过多少秒才记录

三、设置步骤

1、查看慢查询相关参数

mysql> show variables like 'slow_query%';
+---------------------------+----------------------------------+
| Variable_name  | Value    |
+---------------------------+----------------------------------+
| slow_query_log  | OFF    |
| slow_query_log_file | /mysql/data/localhost-slow.log |
+---------------------------+----------------------------------+

mysql> show variables like 'long_query_time';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
Copier après la connexion

2、设置方法

方法一:全局变量设置

slow_query_log 全局变量设置为“ON”状态

mysql> set global slow_query_log='ON';
Copier après la connexion

设置慢查询日志存放的位置

mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log';
Copier après la connexion

查询超过1秒就记录

mysql> set global long_query_time=1;
Copier après la connexion

方法二:配置文件设置

修改配置文件my.cnf,在[mysqld]下的下方加入

[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1
Copier après la connexion

3、重启MySQL服务

service mysqld restart
Copier après la connexion

4、查看设置后的参数

mysql> show variables like 'slow_query%';
+---------------------+--------------------------------+
| Variable_name | Value    |
+---------------------+--------------------------------+
| slow_query_log | ON    |
| slow_query_log_file | /usr/local/mysql/data/slow.log |
+---------------------+--------------------------------+

mysql> show variables like 'long_query_time';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 1.000000 |
+-----------------+----------+
Copier après la connexion

四、测试

1、执行一条慢查询SQL语句

mysql> select sleep(2);
Copier après la connexion

2、查看是否生成慢查询日志

ls /usr/local/mysql/data/slow.log
Copier après la connexion

如果日志存在,MySQL开启慢查询设置成功!

总结

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!