mysql5.7开启慢查询日志

本文介绍如何在MySQL中配置慢查询日志功能,包括开启慢查询日志、设置日志文件路径及定义慢查询的时间阈值等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySql提供慢SQL日志的功能,能够记录下响应时间超过一定阈值的SQL查询,以便于我们定位糟糕的查询语句。

首先,查询当前mysql数据库是否开启了慢查询日志功能:

show VARIABLES like '%slow%';


slow_query_log的值是ON,代表当前数据库已经开启了慢查询功能。slow_query_log_file表示慢日志的路径。


还可以查看超过多少秒算是慢查询:

show VARIABLES like 'long_query_time';


默认是10秒,这里已经被配置为1秒了。


那么慢查询功能是如何配置的呢?

Linux系统下是编辑/etc/my.cnf

slow_query_log=ON
slow_query_log_file=/var/lib/mysql/remotejob-01-slow.log
long_query_time=1

然后,重启mysql服务使之生效:

service mysqld restart

接下来就可以通过slow_query_log_file指定的日志路径查看慢查询记录了。


### 配置 MySQL 5.7 慢查询日志 为了在 Windows 环境下启用 MySQL 5.7慢查询日志,需调整 MySQL 配置文件 `my.ini` 或者通过命令行动态更改全局变量。 #### 修改 my.ini 文件配置 打开 MySQL 安装目录下的 `my.ini` 文件,在 `[mysqld]` 下添加或修改以下参数: ```ini [mysqld] slow_query_log = ON long_query_time = 2 log_output = FILE slow_query_log_file = "D:\\mysql_logs\\slow_query.log" ``` 上述配置项解释如下: - `slow_query_log`: 设置为 `ON` 表示开启慢查询日志记录功能[^1]。 - `long_query_time`: 设定超过多少秒的 SQL 查询会被认为是慢查询,默认单位为秒。这里设定了超时时间为 2 秒。 - `log_output`: 日志输出目标可以是 TABLE (存储到数据库表内) 或者 FILE (保存至指定路径的日志文件),此处选择了后者即文件形式。 - `slow_query_log_file`: 明确指出了用于存放慢查询日志的具体位置以及文件名,注意路径应使用双反斜杠分隔符并加上引号包裹整个字符串以防止路径中含有空格等问题引起错误[^3]。 完成编辑后重启 MySQL 服务使新设置生效。 #### 使用命令行动态配置 如果不想改动配置文件也可以直接登录 MySQL 命令行工具来临时改变这些选项而无需重新启动服务器进程: ```sql SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 2; SET GLOBAL log_output = 'FILE'; SET GLOBAL slow_query_log_file = 'D:/mysql_logs/slow_query.log'; ``` 以上语句实现了相同的效果——开启慢查询日志并将符合条件的查询记录到了给定的位置上[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值