Phiên bản 5.1.6 trở lên:
1. Nhập MySQL shell và chạy lệnh sau:
set global slow_query_log = 'ON';
2. Bật bất kỳ tùy chọn mong muốn nào khác. Dưới đây là một số ví dụ phổ biến:
Chi tiết nhật ký cho các truy vấn dự kiến truy xuất tất cả các hàng thay vì sử dụng chỉ mục:
set global log_queries_not_using_indexes = 'ON'
Đặt đường dẫn đến nhật ký truy vấn chậm:
set global slow_query_log_file ='/var/log/mysql/slow-query.log';
Đặt khoảng thời gian truy vấn cần chạy trước khi được ghi lại:
set global long_query_time = 20;
(default is 10 seconds)
3. Xác nhận các thay đổi đang hoạt động bằng cách nhập MySQL shell và chạy lệnh sau:
show variables like '%slow%';
Các phiên bản 5.1.6 bên dưới:
-
Chỉnh sửa tệp /etc/my.cnf bằng trình soạn thảo văn bản yêu thích của bạnvi /etc/my.cnf
-
Thêm dòng sau vào phần “[mysqld]”. Vui lòng cập nhật đường dẫn đến tệp nhật ký thành bất kỳ thứ gì bạn muốn:
log-slow-queries=/var/log/mysql/slow-query.log
3. Bật các tùy chọn bổ sung nếu cần. Dưới đây là các ví dụ thường được sử dụng tương tự ở trên:
Đặt khoảng thời gian truy vấn cần chạy trước khi được ghi lại:
`long_query_time=20
(default is 10 seconds)`
Chi tiết nhật ký cho các truy vấn dự kiến truy xuất tất cả các hàng thay vì sử dụng chỉ mục:
`log-queries-not-using-indexes`
4. Khởi động lại dịch vụ MySQL:
service mysqld restart
5. Xác nhận thay đổi đang hoạt động bằng cách nhập MySQL shell và chạy như sau:
show variables like '%slow%';
Cập nhật:1
Theo tài liệu MySQL, lỗi # 1193 xảy ra khi bạn sử dụng sai mã cho SQLSTATE.
Message: Unknown system variable %s
Và, như bạn có thể thấy trên cùng một trang, SQLSTATE 99003 không được định nghĩa.
tham khảo liên kết này:
http://dev.mysql.com/doc /refman/5.5/en/slow-query-log.html
http://dev.mysql.com/doc /refman/5.1/en/slow-query-log.html