如何在不重新啟動 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+ 瀏覽量

開啟你的職業生涯

透過完成課程取得認證

立刻開始
廣告
© . All rights reserved.