gpt4 book ai didi

MySQL Slow Log问题——long_query_time不生效

转载 作者:行者123 更新时间:2023-11-30 23:05:30 28 4
gpt4 key购买 nike

我遵循了一些通过慢查询日志跟踪慢查询的教程。

出于测试目的,我尝试将 long_query_time 的值更改为 1,但无论我做什么,只有在达到默认时间 10 时,查询才会进入日志。

我试过:

set @@GLOBAL.long_query_time = 1;
set global long_query_time = 1;

当使用这些命令之一时:

show variables like '%long%';
show global variables like '%long%';

我得到的结果是变量已更改。

我运行了完全相同的查询,只是添加了更多 LEFT JOIN 条目以使其运行时间更长。每当查询运行 10 秒或更长时间时,它就会被记录下来,但当它运行少于 10 秒时它不会显示在日志中,即使我的所有变量似乎都表明它们已更改。

在进行这些更改时,我以 root 身份登录到 MySQL。

我重启了 Apache 和 MySQL,还是不行。

我的版本信息是:

服务器版本:5.1.63-log SUSE MySQL RPM

当我同时查询 session 和全局变量时(我都试过了),我得到了这个:

mysql> show variables like '%long%';
+--------------------+----------+
| Variable_name | Value |
+--------------------+----------+
| long_query_time | 1.000000 |
| max_long_data_size | 1048576 |
+--------------------+----------+
2 rows in set (0.00 sec)

mysql> show global variables like '%long%';
+--------------------+----------+
| Variable_name | Value |
+--------------------+----------+
| long_query_time | 1.000000 |
| max_long_data_size | 1048576 |
+--------------------+----------+
2 rows in set (0.00 sec)

一般的日志记录功能显然是打开的,它被重定向到 TABLE 否则我根本不会在日志中得到一个条目。

设置 log_queries_not_using_indexes 如果打开则开始记录每个查询,即使执行时间不到 1 秒也是如此。

我错过了什么?

谢谢!

最佳答案

下面的配置让 MySQL 记录执行时间超过半秒的查询:

slow_query_log = 1
long_query_time = 0.5
log-slow-queries = /var/log/mysql/log-slow-queries.log
log_queries_not_using_indexes = 0

关于MySQL Slow Log问题——long_query_time不生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100240/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com