Truy vấn chậm không đăng nhập


13

Tôi đang cố gắng kích hoạt ghi nhật ký truy vấn chậm trên máy chủ của chúng tôi để xác định bất kỳ truy vấn nào có thể sử dụng tối ưu hóa. Âm thanh đủ đơn giản, tuy nhiên tập tin của tôi không được ghi vào. Tôi không có lỗi hay bất cứ điều gì tương tự, có vẻ như nó không đăng nhập các truy vấn chậm. Tôi đã nhớ khởi động lại mysql sau khi cấu hình của tôi thay đổi.

Tôi đang sử dụng MySQL Ver 5.1.61. Đây là những gì tôi có trong my.cnf:

slow-query-log=1
slow-query-log-file=/var/logs/my.slow.log
long_query_time=1

tệp /var/logs/my.slow.log có mysql là chủ sở hữu, cũng vì lợi ích của việc gỡ lỗi mà tôi đã đọc / ghi cho tất cả trên tệp nhật ký.

Tôi có long_query_time được đặt thành 1 ở trên vì tôi chỉ muốn xem nó có hoạt động không. Tôi đã cố gắng đặt nó thấp hơn (ví dụ 0,3) nhưng tôi vẫn không nhận được bất cứ điều gì được ghi lại. Tôi biết rằng các truy vấn mà ứng dụng của tôi đang chạy mất hơn 1 giây và tôi cũng đã chạy các truy vấn đăng nhập ( SELECT sleep(10);) có chủ ý trong thiết bị đầu cuối để kiểm tra và nhật ký vẫn trống.

Tôi đã xem qua các tài liệu, từ những gì tôi có thể thấy điều này sẽ hoạt động. Bất cứ ai có bất kỳ đề nghị như những gì tôi đang làm sai? Bất kỳ lời khuyên sẽ được đánh giá cao, cảm ơn nhiều!

Chỉnh sửa: Khi được hỏi trong các bình luận, tôi đã chạy truy vấn:

 `SELECT variable_value FROM information_schema.global_variables WHERE variable_name IN ('slow_query_log','slow_query_log_file','long_query_time');`

Kết quả:

10.0000000
/var/run/mysqld/mysqld-slow.log
OFF

Rõ ràng những thay đổi cấu hình của tôi không được tính đến vì tôi tin rằng đây là những mặc định. Tôi khá chắc chắn rằng tập tin my.cnf tôi đang thay đổi đang được phân tích cú pháp như thể tôi đặt một giá trị không hợp lệ mysql sẽ lỗi khi khởi động lại. Điều gì có thể xảy ra ở đây?

Chỉnh sửa khác:

Sau khi nhận lời khuyên của @RolandoMySQLDBA và chuyển các dòng cấu hình truy vấn chậm của tôi sang dưới [mysqld]cài đặt của tôi dường như đang lưu. Bây giờ kết quả của truy vấn biến_value ở trên là:

1.0000000
/var/logs/my.slow.log
ON

Tuy nhiên tôi vẫn không thấy tệp my.slow.log được ghi vào. Tôi không nghĩ đó là vấn đề về quyền vì tệp được sở hữu bởi mysql tôi đã thêm tất cả các quyền cho tất cả người dùng trên tệp. Bất cứ ai cũng có thể nghĩ ra một lý do tại sao điều này sẽ không hoạt động?

Chỉnh sửa: Đã giải quyết! Đường dẫn đến nhật ký truy vấn chậm là không chính xác, nó phải là /var/log/my.slow.log thay vì / var / log * s * / my.slow.log. Cảm ơn tất cả sự giúp đỡ, tôi đã học được sự phân bổ!


1
Hãy chạy SELECT variable_value FROM information_schema.global_variables WHERE variable_name IN ('slow_query_log','slow_query_log_file','long_query_time');và gửi đầu ra của nó.
RolandoMySQLDBA

1
Nếu bất cứ ai vẫn có vấn đề sau khi đọc điều này, hãy kiểm tra biến logDefput. SET GLOBAL log_output=FILEsửa nó cho tôi
molholm

Câu trả lời:


21

Tôi nghĩ rằng tôi đã có câu trả lời:

Bạn cần đặt các tùy chọn đó dưới [mysqld]phần

[mysqld]
slow-query-log=1
slow-query-log-file=/var/logs/my.slow.log
long_query_time=1

và khởi động lại mysql

CẬP NHẬT 2013 / 03-05 16:36 EST

Tôi không biết tại sao điều này vẫn xảy ra, nhưng vui lòng thử điều này:

service mysql stop
rm -f /var/logs/my.slow.log
touch /var/logs/my.slow.log
chown mysql:mysql /var/logs/my.slow.log
service mysql start

sau đó chạy SELECT SLEEP(10);và xem nếu nó hạ cánh/var/logs/my.slow.log


Cảm ơn! Những gì bạn đề xuất đã giúp, có vẻ như các cài đặt đang lưu đúng cách tuy nhiên tôi vẫn không nhận được những điều được viết. Tôi đã chỉnh sửa câu hỏi của mình để phản ánh điều này.
TheMethod

Xin chào, chỉ tò mò, tôi đang chạy một hệ thống Debian theo VM. Là đường dẫn chính xác trong câu trả lời của bạn? /var/logs/thay vì/var/log
Silviu-Marian

Chỉ cần thông tin. "Chạm và chown" cũng cần thiết trong môi trường CentOS 6.6 mysql 5.1.73.
Fumisky Wells

Tôi vừa chạy qua một hệ thống nơi họ cố gắng đưa những thứ này vào [mysqld_safe], không hoạt động. Đặt chúng dưới [mysql]giải quyết vấn đề.
Michael Hampton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.