golang go-sql-driver gorm 數據庫報錯 bad connection 原因 具體原因是 解決

開發Go項目中,有時候在有大量操作Mysql時,有時候會發生如下錯誤。

"driver: bad connection"

原因

這是因爲Mysql服務器主動關閉了Mysql鏈接。
在項目中使用了一個mysql鏈接,同時使用了事務,處理多個表操作。處理時間長。
導致空閒鏈接超時,Mysql關閉了鏈接。而客戶端保持了已經關閉的鏈接。

具體原因是

沒有設置 db.SetConnMaxLifetime ,導致客戶端保持了已經關閉的鏈接。

解決

    // 設置數據庫閒鏈接超時時間
    write.SetConnMaxLifetime(time.Second * 300)

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