MySQL 如何在不重启MySQL的情况下启用MySQL慢查询日志?
我们可以使用SET语句来启用MySQL慢查询日志。
以下是该语法。
SET GLOBAL slow_query_log = 'Value';
在上述语法中,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;设置为禁用。
阅读更多:MySQL 教程