錯誤型別
在用mysql客戶端對資料庫進行操作時,開啟終端視窗,如果一段時間沒有操作,再次操作時,常常會報如下錯誤:
ERROR 2013 (HY000): Lost connection to MySQL server during query
ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect...
好的,讓我們看看這兩個錯誤對應 pymysql 中的異常型別吧
2013 錯誤碼對應的是什麼異常型別?
先看第一個 2013
對應的異常型別constants/CR.py
CR_SERVER_LOST = 2013
connections.py
raise err.OperationalError(
CR.CR_SERVER_LOST,
"Lost connection to MySQL server during query",
)
可以看到對應的錯誤型別是 OperationalError
2006 錯誤碼對應的是什麼異常型別?
再看第二個 2006
對應的異常型別constants/CR.py
CR_SERVER_GONE_ERROR = 2006
connections.py
raise err.OperationalError(
CR.CR_SERVER_GONE_ERROR, "MySQL server has gone away (%r)" % (e,)
)
可以看到對應的錯誤型別是 OperationalError
operational 是什麼意思?
看看 有道翻譯 中的解釋吧
operational
英 [ˌɒpəˈreɪʃənl] 美 [ˌɑːpəˈreɪʃənl]
adj. (機器、裝置等)正常運轉的,可使用的;操作的,運營的,業務的;軍事行動的;操作論的,操作主義的
從這個翻譯來看,這個異常類是一個很寬泛的異常類
參考文章:
MySQL中interactive_timeout和wait_timeout的區別
[玩轉 MySQL 之二]MySQL 連線機制淺析及運維
MySQL資料庫連線超時自動斷開的解決方案