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


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

以下为语法。

SET GLOBAL slow_query_log = 'Value';

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

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

要检查慢查询是否开启,请执行以下查询 −

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 affected (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 affected (0.25 sec)

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

更新日期: 2020 年 6 月 26 日

1K+ 浏览量

开启你的职业生涯

通过完成课程取得认证

立刻开始
广告