日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

wait_timeout【Mysql】解决方案

發(fā)布時(shí)間:2024/8/26 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wait_timeout【Mysql】解决方案 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

想必大家在用MySQL時(shí)都會遇到連接超時(shí)的問題,如下圖所示:

圖1 超時(shí)報(bào)錯(cuò)
就是這個(gè)異常(com.mysql.jdbc.exceptions.jdbc4.
CommunicationsException:Communications link failure Last packet sent to the server was X ms ago),是由于MySQL服務(wù)在長時(shí)間不連接之后斷開了,斷開之后的首次請求會拋出這個(gè)異常。那么既然是連接超時(shí)的問題,就要去MySQL中探究一下連接時(shí)間是怎么控制的。打開MySQL的控制臺,運(yùn)行:show variables like ‘%timeout%’,查看和連接時(shí)間有關(guān)的MySQL系統(tǒng)變量,得到如下結(jié)果:

 圖2 查看mysql timeout

其中wait_timeout就是負(fù)責(zé)超時(shí)控制的變量,其時(shí)間為長度為28800s,就是8個(gè)小時(shí),那么就是說MySQL的服務(wù)會在操作間隔8小時(shí)后斷開,需要再次重連。也有用戶在URL中使用jdbc.url=jdbc:mysql://localhost:3306/nd?autoReconnect=true來使得連接自動恢復(fù),當(dāng)然了,這是可以的,不過是MySQL4及其以下版本適用。MySQL5中已經(jīng)無效了,必須調(diào)整系統(tǒng)變量來控制了。
MySQL5手冊中對兩個(gè)變量有如下的說明:

interactive_timeout:服務(wù)器關(guān)閉交互式連接前等待活動的秒數(shù)。交互式客戶端定義為在mysql_real_connect()中使用CLIENT_INTERACTIVE選項(xiàng)的客戶端。又見wait_timeout
wait_timeout:服務(wù)器關(guān)閉非交互連接之前等待活動的秒數(shù)。在線程啟動時(shí),根據(jù)全局wait_timeout值或全局interactive_timeout值初始化會話wait_timeout值,取決于客戶端類型(由mysql_real_connect()的連接選項(xiàng)CLIENT_INTERACTIVE定義),又見interactive_timeout

如此看來,兩個(gè)變量是共同控制的,那么都必須對他們進(jìn)行修改了。繼續(xù)深入這兩個(gè)變量wait_timeout的取值范圍是1-2147483(Windows),1-31536000(linux),interactive_time取值隨wait_timeout變動,它們的默認(rèn)值都是28800。
MySQL的系統(tǒng)變量由配置文件控制,當(dāng)配置文件中不配置時(shí),系統(tǒng)使用默認(rèn)值,這個(gè)28800就是默認(rèn)值。要修改就只能在配置文件里修改。打開/etc/my.cnf,打開后在如下位置添加兩個(gè)變量,賦值。(這里修改為388000)
保存退出,重啟mysql服務(wù),一定是重啟系統(tǒng)服務(wù)。便可看到修改結(jié)果:

圖3 修改配置

至此,修改完成,那么連接超時(shí)的問題從數(shù)據(jù)庫上就解決了。當(dāng)然在編程時(shí)也可以使用連接池設(shè)置超時(shí)時(shí)間,配置相對簡單。但修改數(shù)據(jù)庫更為本質(zhì)一些。

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的wait_timeout【Mysql】解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。