MySQL sử dụng các biến thời gian chờ khác nhau cho các giai đoạn khác nhau.
- Khi kết nối được thiết lập, nó sử dụng
connection_timeout
- Khi đợi truy vấn tiếp theo, nó sử dụng
wait_timeout
- Khi nó không nhận được truy vấn trong thời gian cụ thể, nó sẽ sử dụng
net_read_timeout
vànet_write_timeout
- Và như vậy ...
Thông thường net_read_timeout
không phải là vấn đề nhưng khi bạn gặp một số sự cố mạng, đặc biệt là khi giao tiếp với máy chủ, thời gian chờ này có thể tăng lên vì thay vì một gói duy nhất cho truy vấn, mà bạn đã gửi đến Cơ sở dữ liệu, MySQL sẽ đợi toàn bộ truy vấn. đọc nhưng do sự cố mạng, nó không nhận được phần còn lại của truy vấn. MySQL không cho phép máy khách nói chuyện với máy chủ cho đến khi kết quả truy vấn được tìm nạp hoàn toàn.
Bạn không thể thay đổi chính xác hai biến đó, xét cho cùng, chúng là biến phiên.
Ngoài ra từ MySQL Doc, bạn có thể đọc
net_read_timeout
:
net_write_timeout
:
Bạn có thể kiểm tra biến mặc định trong chính MySQL bằng cách sử dụng
> mysql show variables like '%timeout';