如何在不重启MySQL的情况下启用MySQL慢查询日志?

mysqlmysqli database更新于 2024/12/30 7:40:17

我们可以借助SET语句启用MySQL慢查询日志。

以下是语法。

SET GLOBAL slow_query_log = 'Value';

在上述语法中,value可以填入ON/OFF。要启用慢查询日志,让我们看看查询。

mysql> SET GLOBAL slow_query_log = 'ON';
Query OK, 0 rows impacted (0.00 sec)

要检查慢查询是否为ON,请执行以下查询 −

mysql> SHOW GLOBAL VARIABLES LIKE 'slow\_%';

这是输出。

+---------------------+--------------------------+
| Variable_name       | Value                    |
+---------------------+--------------------------+
| slow_launch_time    | 2                        |
| slow_query_log      | ON                       |                     
| slow_query_log_file | DESKTOP-QN2RB3H-slow.log |
+---------------------+--------------------------+
3 rows in set (0.00 sec)

我们以秒为单位设置了慢查询时间,因为如果任何查询超出给定的秒数,它将进入慢查询日志文件。

我们也可以设置秒数。以下是设置秒数的查询。

mysql> SET GLOBAL long_query_time = 20;
Query OK, 0 rows impacted (0.00 sec)

检查时间是否已插入。

mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';

这是上述查询的输出。

+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 20.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)

完成上述任务后,我们需要刷新日志。

mysql> FLUSH LOGS;
Query OK, 0 rows impacted (0.25 sec)

注意 − 我们可以借助 my.cnf 文件永久禁用它。设置 slow_query_log = 0; 即可禁用。


相关文章


有用资源