谬误类型

在用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
英 [prenl] 美 [prenl]
adj. (机器、设施等)失常运行的,可应用的;操作的,经营的,业务的;军事行动的;操作论的,操作主义的

从这个翻译来看,这个异样类是一个很宽泛的异样类

参考文章:

MySQL中interactive_timeout和wait_timeout的区别
[玩转 MySQL 之二]MySQL 连贯机制浅析及运维
MySQL数据库连贯超时主动断开的解决方案