2013-03-21 37 views
22

Tôi đang sử dụng phiên bản MySQL 5.1.66. Tôi thấy rằng biến long_query_time là năng động, nhưng khi tôi đã cố gắngTại sao tôi không thể thay đổi biến long_query_time biến tại thời gian chạy

set GLOBAL long_query_time=1; 

Sau ca phẫu thuật trên một lần nữa tôi đã cố gắng

mysql> show variables like 'long_query_time'; 
+-----------------+-----------+ 
| Variable_name | Value  | 
+-----------------+-----------+ 
| long_query_time | 10.000000 | 
+-----------------+-----------+ 
1 row in set (0.00 sec) 

Từ mysql console nó không phải là nhận thay đổi, tại sao?

Trả lời

42

Bạn đang thiết lập một biến hệ thống GLOBAL, nhưng bạn truy vấn cho biến PHIÊN. Để cài đặt biến GLOBAL có hiệu lực cho phiên hiện tại, bạn cần phải kết nối lại hoặc đặt biến @@ SESSION.long_query_time. (Lưu ý rằng SHOW VARIABLES theo mặc định cho thấy các biến session.)

Dưới đây là một ví dụ:

mysql> SHOW SESSION VARIABLES LIKE "long_query_time"; 
+-----------------+-----------+ 
| Variable_name | Value  | 
+-----------------+-----------+ 
| long_query_time | 10.000000 | 
+-----------------+-----------+ 

mysql> SET @@GLOBAL.long_query_time = 1; 

mysql> SHOW GLOBAL VARIABLES LIKE "long_query_time"; 
+-----------------+----------+ 
| Variable_name | Value | 
+-----------------+----------+ 
| long_query_time | 1.000000 | 
+-----------------+----------+ 

mysql> SHOW VARIABLES LIKE "long_query_time"; 
+-----------------+-----------+ 
| Variable_name | Value  | 
+-----------------+-----------+ 
| long_query_time | 10.000000 | 
+-----------------+-----------+ 
+0

Cảm ơn bạn, vì vậy Tôi nhận được điều đó khi chúng tôi thử hiển thị biến như "long_query_time", nó hiển thị biến phiên –

+0

Rất đúng, tôi không nghĩ về điều này. cảm ơn –

3

Thay đổi giá trị biến hệ thống trong mysql (cfr. http://dev.mysql.com/doc/refman/5.1/en/set-statement.html) không làm thay đổi giá trị cho khách hàng đã kết nối với phiên.

Thay đổi sẽ kéo dài cho đến khi khởi động lại máy chủ, thay đổi tiếp theo hoặc hết hạn phiên.

vui lòng tham khảo http://bugs.mysql.com/bug.php?id=38704 để biết thêm chi tiết

+0

Vì vậy, chúng ta không thể thay đổi điều đó long_query_time biến cho phiên bản mysql này 5.1.66 –

Các vấn đề liên quan