Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để kích hoạt nhật ký truy vấn chậm MySQL mà không cần khởi động lại MySQL?

Chúng tôi có thể kích hoạt nhật ký truy vấn chậm MySQL với sự trợ giúp của câu lệnh SET.

Sau đây là cú pháp.

SET GLOBAL slow_query_log = 'Value';

Trong cú pháp trên, giá trị có thể được điền bằng ON / OFF. Để bật nhật ký truy vấn chậm, hãy để chúng tôi xem truy vấn.

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

Để kiểm tra xem truy vấn chậm có BẬT hay không, hãy triển khai truy vấn sau -

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

Đây là kết quả đầu ra.

+---------------------+--------------------------+
| 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)

Chúng tôi đã đặt thời gian truy vấn chậm tính bằng giây vì nếu bất kỳ truy vấn nào vượt quá số giây đã cho, nó sẽ được đưa vào tệp nhật ký truy vấn chậm.

Chúng tôi cũng có thể đặt giây. Đây là truy vấn để đặt giây.

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

Để kiểm tra xem thời gian đã được chèn chưa.

mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';

Đây là kết quả của truy vấn trên.

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

Sau khi thực hiện tác vụ trên, chúng ta cần xóa nhật ký.

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

Lưu ý - Chúng tôi có thể vô hiệu hóa vĩnh viễn nó với sự trợ giúp của tệp my.cnf. Đặt slow_query_log =0; để vô hiệu hóa.