MySQL慢查询之开启慢查询

作者:成九 时间:2024-01-23 16:16:03 

一、慢查询有什么用?

它能记录下所有执行超过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 |
+-----------------+-----------+

2、设置方法

方法一:全局变量设置

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


mysql> set global slow_query_log='ON';

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


mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log';

查询超过1秒就记录


mysql> set global long_query_time=1;

方法二:配置文件设置

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


[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1

3、重启MySQL服务


service mysqld restart

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 |
+-----------------+----------+

四、测试

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


mysql> select sleep(2);

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


ls /usr/local/mysql/data/slow.log

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

来源:http://www.cnblogs.com/luyucheng/p/6265594.html

标签:mysql,开启慢查询
0
投稿

猜你喜欢

  • 详谈python read readline readlines的区别

    2021-07-31 17:45:40
  • 使用python实现链表操作

    2021-07-29 23:30:38
  • Mac下Supervisor进程监控管理工具的安装与配置

    2023-06-12 14:33:12
  • 解决golang.org不能访问的问题(推荐)

    2024-05-08 10:53:22
  • javascript中的throttle和debounce浅析

    2024-05-08 10:10:27
  • Windows环境下vscode-go安装笔记(不支持32位)

    2024-04-25 15:01:40
  • Java连接数据库步骤解析(Oracle、MySQL)

    2024-01-18 09:42:22
  • python 实现在tkinter中动态显示label图片的方法

    2022-07-17 11:10:15
  • XML简易教程之四

    2008-09-05 17:19:00
  • 详解通过API管理或定制开发ECS实例

    2022-11-02 17:44:00
  • 详解如何通过Python实现批量数据提取

    2021-12-23 01:19:10
  • Django中如何用xlwt生成表格的方法步骤

    2023-07-17 07:47:12
  • Django REST framework视图的用法

    2021-02-10 02:51:49
  • keras:model.compile损失函数的用法

    2023-11-23 08:44:21
  • Python通过解析网页实现看报程序的方法

    2022-07-16 14:27:12
  • 使用php语句将数据库*.sql文件导入数据库

    2023-11-23 05:11:22
  • 详解Oracle修改字段类型方法总结

    2024-01-20 22:40:26
  • SQL Server 2005的cmd_shell组件的开启方法

    2024-01-19 15:18:06
  • sql server使用公用表表达式CTE通过递归方式编写通用函数自动生成连续数字和日期

    2024-01-24 15:34:17
  • 微信小程序-滚动消息通知的实例代码

    2024-04-16 10:41:16
  • asp之家 网络编程 m.aspxhome.com