這裡我們可以看到wait_timeout為28800,就是8小時。那麼就是說MySQL的服務會在操作間隔8小時後斷開,需要再次重連。當我們用java程序的JDBC來連接時又可以讓它自動恢復。
interactive_timeout:服務器關閉交互式連接前等待活動的秒數。交互式客戶端定義為在mysql_real_connect()中使用CLIENT_INTERACTIVE選項的客戶端。又見wait_timeout
wait_timeout:服務器關閉非交互連接之前等待活動的秒數。在線程啟動時,根據全局wait_timeout值或全局interactive_timeout值初始化會話wait_timeout值,取決於客戶端類型(由mysql_real_connect()的連接選項CLIENT_INTERACTIVE定義),又見interactive_timeout
如此看來,兩個變量是共同控制的,那麼都必須對他們進行修改了。繼續深入這兩個變量wait_timeout的取值范圍是1-2147483(Windows),1-31536000(linux),interactive_time取值隨wait_timeout變動,它們的默認值都是28800。
MySQL的系統變量由配置文件控制,當配置文件中不配置時,系統使用默認值,這個28800就是默認值。要修改就只能在配置文件裡修改。Windows下在%MySQL HOME%下有my.ini配置文件,打開後添加如下的一句話。(這裡修改為388000)
保存退出,重啟mysql服務,一定是重啟系統服務。便可看到修改結果:
Linux系統下的配置文件為/etc/my.cnf。(同上操作)