mysqld
sẽ hết thời gian kết nối cơ sở dữ liệu dựa trên hai tùy chọn máy chủ:
Cả hai đều là 28.800 giây (8 giờ) theo mặc định.
Bạn có thể đặt các tùy chọn này trong /etc/my.cnf
Nếu các kết nối của bạn liên tục (mở qua mysql_pconnect
), bạn có thể hạ những con số này xuống mức hợp lý như 600 (10 phút) hoặc thậm chí 60 (1 phút). Hoặc, nếu ứng dụng của bạn hoạt động tốt, bạn có thể để mặc định. Đây là tùy thuộc vào bạn.
Bạn phải đặt những thứ này như sau my.cnf
(có hiệu lực sau khi mysqld
được khởi động lại):
[mysqld]
interactive_timeout=180
wait_timeout=180
Nếu bạn không muốn khởi động lại mysql, thì hãy chạy hai lệnh sau:
SET GLOBAL interactive_timeout = 180;
SET GLOBAL wait_timeout = 180;
Điều này sẽ không đóng các kết nối đã mở. Điều này sẽ khiến các kết nối mới đóng lại sau 180 giây.