pymysql错误:

pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')
pymysql.err.InterfaceError: (0, '')

错误原因:

MySQL持久化链接保持时间为8小时(28800秒),过期后断开连。如果数据库没有新建连接,则会报此错。

mysql> SHOW SESSION VARIABLES LIKE 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 28800 |
+---------------+-------+

解决思路:

调用前判断连接是否有效,如果有效继续,无效创建连接。

class DataBase():
"""数据库类""" def __init__(self, host='localhost', user='root', pw='password', db='test'):
self.con = pymysql.connect(host, user, pw, db)
self.cur = self.con.cursor() # 方法1:
def _reCon (self):
""" MySQLdb.OperationalError异常"""
# self.con.close()
while True:
try:
self.con.ping()
break
except OperationalError:
self.con.ping(True) # 方法2:
def _reConn (self,num=28800,stime=3):
"""
校验数据库连接是否异常
num:8小时
stime:间隔3秒重连
"""
_number = 0
_status = True
while _status and _number <= num:
try:
self.con.ping() #cping 校验连接是否异常
_status = False
except:
if self.con == True: #重新连接,成功退出
_status = False
break
_number +=1
time.sleep(stime) #连接不成功,休眠3秒钟,继续循环,直到循环8小时 def insert_visitor_info(self, time, device_id, room_id):
"""插入访客请求信息"""
self._reCon()
# self._reConn()
with self.con:
sql = "INSERT INTO visitor(time,device_id,room_id) VALUES(%s,%s,%s)"
self.cur.execute(sql, (time, device_id, room_id))
if __name__ == '__main__': db = DataBase()
db.insert_visitor_info('2019-03-31 17:57:08','8b417cb51268','312')

鸣谢地址:

最新文章

  1. elasticsearch 集群搭建
  2. 使用Spring整合Hibernate,并实现对数据表的增、删、改、查的功能
  3. Baseline管理
  4. 深入浅出百度地图API开发系列(2):创建地图
  5. C技巧:结构体参数转成不定参数
  6. valuestack(值栈) 和 actioncontext(上下文)
  7. POJ 2912 Rochambeau
  8. android 中如何限制 EditText 最大输入字符数
  9. 第4章 流程控制----编写Java程序,使用while循环语句计算1+1/2!+1/3!+...+1/20!之和
  10. 12、Grafan 4.3升级到Grafana 5.0
  11. C++基础题--float型以整型格式输出
  12. 【bzoj4631】踩气球 线段树
  13. learning makefile 定义命令包
  14. 软工网络15团队作业4——Alpha阶段敏捷冲刺7.0
  15. ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(2)
  16. JAVA代码模板总结
  17. JavaScript基础知识点学习记录
  18. php-fpm安装、配置与优化
  19. sqlserver设计器实现约束
  20. python-面向对象-08_多态

热门文章

  1. HBase 物理视图
  2. Gym - 100543L
  3. 全栈之路-杂篇-前端Http请求封装优化
  4. HZOI20190819模拟26题解
  5. Weekly Challenges - Week 11
  6. volatile和指令重排序
  7. DVWA 之high级别sql注入
  8. mac上python3.x安装 图文详解
  9. UVA11916 Emoogle Grid
  10. Liferay 7:Liferay DXP全套教程内附源码