问题提出
模拟数据发生器每分钟插入数据到mysql数据库,运行8小时就报错:pymysql.err.InterfaceError: (0, ‘’)
解决办法
这是mysql连接设置时长为8小时,到点就断开所致,在原代码加一句断开重连即可:self.mysql_conn.ping(reconnect=True)
原代码片断:
try:
with self.mysql_conn.cursor() as cursor:
cursor.execute(sql)
self.mysql_conn.commit()
except Exception as e:
self.mysql_conn.rollback()
新代码片断:
try:
with self.mysql_conn.cursor() as cursor:
self.mysql_conn.ping(reconnect=True) # 断开重连
cursor.execute(sql)
self.mysql_conn.commit()
except Exception as e:
self.mysql_conn.rollback()