欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql連接無效(invalid connection)問題及解決

 更新時間:2023年02月16日 10:30:58   作者:m伊伊  
這篇文章主要介紹了Mysql連接無效(invalid connection)問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Mysql連接無效invalid connection

一般連接數據庫的代碼庫都有實現連接池,如golang語言database/sql庫,其中SetConnMaxLifetime(d time.Duration)是用來設置連接池里每條連接關閉的時間,當d <= 0時,連接池里的連接永久重用,即永遠都在連接池里,拿來就用,不管此連接是否真的有效(這里有問題,下面講)。

當d > 0時,到了時間d才會關閉連接,把連接移出連接池,但這并不是時間一到就關閉,因為當連接還在使用時會等連接完成之后,等下一個清理連接周期(周期為d)時會關閉連接,移出連接池。

Mysql為了防止空閑連接過多,超過了參數mysql_connection之后會拒絕新連接,mysql會自動關閉空閉連接超過wait_timeout參數的時間,會關閉使用中超過interactive_timeout參數的連接。

由于mysql會自動關閉超時連接,所以database/sql的SetConnMaxLifetime()不能設置為永久有效,要不然連接已經被mysql關閉了,但還是拿著失效的連接使用就會報invalid connection。

解決的方案

SetConnMaxLifetime()設置的時間小于wait_timeout就行,一般建議wait_timeout/2。

Mysql遠程連接不生效

記錄一下,一般這種情況都是設置 mysql 表中對應 root 用戶的 Host 從 localhost 改為 %,但是怎么弄都不生效,沒辦法只能看看 mysql 配置文件 mysqld.cnf

里面找到了一項內容如下圖:

把上面箭頭所指處注釋后一試,還真是這個,不知道這個什么時候設置的,太無語了。 

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論