在mysql中我們要設置mysql的數據庫查詢與連接超時時間我們只要修改wait_timeout值就可以了,修改wait_timeout值的方法有兩種,一種是利用cmd下修改,另一種是在mysql my.cnf配置文件中修改。 首先打開你的MySql控制台,輸入密碼後進入 接著敲入命令來悄一悄為什麼會超時 SQL Code復制內容到剪貼板
這裡我們可以看到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。(同上操作)