mysql數據庫配置wait_timeout和interactive_timeout總結

(1)interactive_timeout:
參數含義:服務器關閉交互式連接前等待活動的秒數。交互式客戶端定義爲在mysql_real_connect()中使用CLIENT_INTERACTIVE選項的客戶端。
參數默認值:28800秒(8小時)

(2)wait_timeout:
參數含義:服務器關閉非交互連接之前等待活動的秒數。
在線程啓動時,根據全局wait_timeout值或全局interactive_timeout值初始化會話wait_timeout值,取決於客戶端類型(由mysql_real_connect()的連接選項CLIENT_INTERACTIVE定義)。

參數默認值:28800秒(8小時)

問題1:這裏爲什麼要同時設置interactive_timeout,wait_timeout的設置纔會生效?
答:    不設置interactive_timeout,wait_timeout也會生效。
問題2:interactive的值如果設置的和wait_timeout不同,爲什麼Interactive_timeout會覆蓋wait_timeout?
答:在交互模式下(CLIENT_INTERACTIVE),interactive_timeout才生效,非交互模式下,不生效。

問題3:在進行MySQL優化時,因爲interactive_timeout決定的是交互連接的時間長短,而wait_timeout決定的是非交互連接的時間長短。如果在進行連接配置時mysql_real_connect()最後一個參數client_flag不設置爲CLIENT_INTERACTIVE,是不是interactive_timeout的值不會覆蓋wait_timeout?
答:可以做實驗試試。

問題4:爲了減少長連接的數量,在設置優化時是不是可以將interactive_timeout的值設置的大些,而wait_timeout的值設置的小些?但是問題2的描述好像又不允許這樣。。。

答:如2所述,在交互模式下,interactive_timeout取代wait_timeout。這樣,如果有的客戶端是交互模式方式連接mysql server。那麼客戶端的timeout受制於interactive_timeout。如果有的客戶端是非交互模式,長連接mysql server。那麼客戶端的timeout受制於wait_timeout。(是否是交互模式的連接,由客戶端決定)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章