无限踩坑系列(6)-mySQL数据库链接错误

mySQL数据库链接错误


应用场景需要一直访问mySQL数据库,遇到如下错误:

错误1

释放已经释放的数据库链接conn.,或者,操作已经释放的数据库链接conn.或者失去链接后再操作数据库都可能会报这个错误

aise err.InterfaceError("(0, ‘’)")
pymysql.err.InterfaceError: (0, ‘’)

错误2

pymysql.err.OperationalError: (2013, ‘Lost connection to MySQL server during query ([Errno 110] Connection timed out)’)

解决:解决:查看了好多博客文档,都说是数据库链接的问题。mySQL内置了ping()方法,能在数据库链接丢失时再次链接数据库。可以在合适的地方借助try expect 语句使用.ping()方法重新链接。
在这里插入图片描述

图截至pyMySQL的官方文档:https://pymysql.readthedocs.io/en/latest/modules/connections.html#pymysql.connections.Connection.ping

参考文档:https://www.cnblogs.com/xuwei1/p/10820516.html

长链接短连接

可以通过长短链接的方式链接数据库,短连接就是每次链接数据库并操作完之后就释放该链接。长连接就是使用完在较长的时间内不释放,最长的持续时间是8小时,过了时间,链接自动断开。所以程序中要设定链接检查机制,如果断开就重新链接一下。
长短链接各有自己的应用场景(疑惑长连接在数据库发生变化时能够获取刷新后的数据库么?还没有测试过

长短链接的链接碰撞资源占用等问题参考下面文档。

参考文档:https://www.cnblogs.com/panchanggui/p/9963815.html

长连接断开之后重链接检查:
https://blog.csdn.net/weixin_43354181/article/details/85894383

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值