Hướng dẫn cấu hình slow query log trên MySQL

351
12-03-2018
Hướng dẫn cấu hình slow query log trên MySQL

Bài viết hôm nay Bizfly Cloud sẽ hướng dẫn bạn cách cấu hình slow query log trên MySQL. Bạn có thể sử dụng slow query log để xác định truy vấn cơ sở dữ liệu nào đang ngốn nhiều thời gian để hoạt động.

Điều kiện tiên quyết: Bạn phải có quyền truy cập root vào máy chủ để làm thực hiện các bước sau. 

1. Đăng nhập vào server bằng SSH.

2. Tại command line, gõ lệnh sau:

mysql -u root -p

3. Gõ MySQL root password

4. Để bật slow query log, gõ lệnh sau tại dấu nhắc mysql>:

SET GLOBAL slow_query_log = 'ON';

5. Có các tùy chọn bổ sung mà bạn có thể đặt cho nhật ký truy vấn chậm:

- Theo mặc định, khi nhật ký truy vấn chậm được kích hoạt, slow query log sẽ ghi lại bất kỳ truy vấn nào mất hơn 10s để xử lý. 

Để thay đổi khoảng thời gian này, hãy gõ lệnh sau, thay thế X bằng thời gian tính bằng giây:

SET GLOBAL long_query_time = X;

Theo mặc định, tệp nhật ký truy vấn chậm được đặt tại /var/lib/mysql/hostname-slow.log. Để thay đổi đường dẫn hoặc filename, hãy nhập lệnh sau, thay thế đường dẫn bằng đường dẫn đến tệp và filename bằng tên của log filename:

SET GLOBAL slow_query_log_file = '/path/filename';

6. Để xác minh rằng slow query log hoạt động chính xác, hãy đăng xuất khỏi chương trình mysql và sau đó đăng nhập lại. (Điều này sẽ tải lại các biến phiên cho chương trình mysql.) 

Nhập lệnh sau, thay thế X bằng một giá trị lớn hơn cài đặt long_query_time:

SELECT SLEEP(X);

Tệp slow query log nên chứa thông tin về truy vấn.

7. Tiếp tục theo dõi slow query log file để xem truy vấn nào mất nhiều thời gian thwucj thi.

8. Khi bạn hoàn tất troubleshooting, hãy tắt slow query log. Để thực hiện điều này, hãy chạy lại chương trình mysql, rồi gõ lệnh sau:

SET GLOBAL slow_query_log = 'OFF';

Lưu ý:

Bạn chỉ nên bật slow query log khi cần khắc phục sự cố về hiệu suất.

Hướng dẫn cấu hình slow query log trên MySQL - Ảnh 1.

Tham khảo: a2hosting.com/kb/developer-corner/mysql/enabling-the-slow-query-log-in-mysql

GIANG

>> Có thể bạn quan tâm: SQL là gì? Những thông tin về ngôn ngữ SQL bạn nên biết

TAGS: mysqlsql
SHARE