数据库超时断开或table表内数据接口异常
在前端一个网页内写了两个table表,并且都需要对数据库进行查询并将数据返回到前端加载到表格中,这里使用的是layui的表格,layui.render()函数似乎一次只能加载一个表格。两个表格访问的是同一个数据库中的不同表,在后端也是重定位到不同函数。该页面在第一次使用时能正常刷新,但是点击几次其他页面以后系统就开始崩溃,直接显示
pymysql.err.InterfaceError: (0, '')
查了一些资料说是mysql数据库默认连接是八个小时,超时可以会断开,实际上我这里可能也存在同时加载两个表中数据导致数据库崩溃的问题。然后直接使用
conn.ping(reconnect=True)
语句就可以解决以上问题。
这里我讲数据库连接放在一个函数内,在需要使用数据库时调用该函数进行判断后实现:
def connect_mysql():
# 建立操作游标
# mysql_free_result();
# cursor = connection_pool.cursor()
#conn 在import中引入
"""conn = pymysql.connect(host='localhost', user='root', passwd='****', db='comm', charset='utf8')"""
conn.ping(reconnect=True)
cursor = conn.cursor(cursors.SSCursor)
return cursor
按以上方法修改代码以后多次刷新页面没再出现这种问题。