国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Mysql連接無(wú)效(invalid connection)問(wèn)題及解決

瀏覽:143日期:2023-02-18 16:43:58
目錄
  • Mysql連接無(wú)效invalid connection
    • 解決的方案
  • Mysql遠(yuǎn)程連接不生效
    • 總結(jié)

      Mysql連接無(wú)效invalid connection

      一般連接數(shù)據(jù)庫(kù)的代碼庫(kù)都有實(shí)現(xiàn)連接池,如golang語(yǔ)言database/sql庫(kù),其中SetConnMaxLifetime(d time.Duration)是用來(lái)設(shè)置連接池里每條連接關(guān)閉的時(shí)間,當(dāng)d <= 0時(shí),連接池里的連接永久重用,即永遠(yuǎn)都在連接池里,拿來(lái)就用,不管此連接是否真的有效(這里有問(wèn)題,下面講)。

      當(dāng)d > 0時(shí),到了時(shí)間d才會(huì)關(guān)閉連接,把連接移出連接池,但這并不是時(shí)間一到就關(guān)閉,因?yàn)楫?dāng)連接還在使用時(shí)會(huì)等連接完成之后,等下一個(gè)清理連接周期(周期為d)時(shí)會(huì)關(guān)閉連接,移出連接池。

      Mysql為了防止空閑連接過(guò)多,超過(guò)了參數(shù)mysql_connection之后會(huì)拒絕新連接,mysql會(huì)自動(dòng)關(guān)閉空閉連接超過(guò)wait_timeout參數(shù)的時(shí)間,會(huì)關(guān)閉使用中超過(guò)interactive_timeout參數(shù)的連接。

      由于mysql會(huì)自動(dòng)關(guān)閉超時(shí)連接,所以database/sql的SetConnMaxLifetime()不能設(shè)置為永久有效,要不然連接已經(jīng)被mysql關(guān)閉了,但還是拿著失效的連接使用就會(huì)報(bào)invalid connection。

      解決的方案

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

      Mysql遠(yuǎn)程連接不生效

      記錄一下,一般這種情況都是設(shè)置 mysql 表中對(duì)應(yīng) root 用戶(hù)的 Host 從 localhost 改為 %,但是怎么弄都不生效,沒(méi)辦法只能看看 mysql 配置文件 mysqld.cnf

      里面找到了一項(xiàng)內(nèi)容如下圖:

      把上面箭頭所指處注釋后一試,還真是這個(gè),不知道這個(gè)什么時(shí)候設(shè)置的,太無(wú)語(yǔ)了。

      總結(jié)

      以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持。

      標(biāo)簽: MySQL
      主站蜘蛛池模板: 贡觉县| 常德市| 荆门市| 霞浦县| 紫云| 肇庆市| 双牌县| 即墨市| 五莲县| 体育| 乌审旗| 墨竹工卡县| 安福县| 都安| 吴堡县| 抚远县| 桐乡市| 公安县| 紫金县| 永嘉县| 迭部县| 丰都县| 石狮市| 玛纳斯县| 菏泽市| 山阳县| 丽水市| 称多县| 全州县| 咸阳市| 丰镇市| 新兴县| 奇台县| 即墨市| 嘉禾县| 微山县| 泽库县| 河北区| 凤城市| 竹溪县| 丰镇市|