pymysql.err.interfaceerror: 0

2020-05-29  本文已影响0人  生活就是爱

一、遇到问题

工作中突然遇到问题


1111.jpeg

二、查找原因

数据库默认的wait_timeout=28800,这个单位是秒,换算后是8小时
也就是原来我的服务启动8小时后,就会被mysql自动断开,如果我没有重连机制那就真的是不能用
经过查询日志,确实有连续8小时以上没有进行数据库操作了

三、解决方案

用下面的代码,使用前检查连接是否存在,断开的话会重连

db = pymysql.connect(host='127.0.0.1',port=3306,user='user', passwd='pwd', db='db_name', charset='utf8')
cur = db.cursor()
sql = 'select * from table_name'
db.ping(reconnect=True)
cur.execute(sql)
db.commit()
cur.close()

参考资料:
pymysql.err.InterfaceError: (0, '')解决办法
【Python】数据库异常pymysql.err.InterfaceError: (0, '')解决方案

上一篇下一篇

猜你喜欢

热点阅读