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。(是否是交互模式的連接,由客戶端決定)

 

轉自: https://blog.csdn.net/qq0824/article/details/96831106


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM