peewee: OperationalError: (2006, ‘MySQL server has gone away’)

简介: peewee: OperationalError: (2006, ‘MySQL server has gone away’)

MySQL默认长链接只能保持8小时,超过后就会自动断开。

peewee报错:

OperationalError: (2006, ‘MySQL server has gone away’)

在peewee2中如何维持长连接,可以如下操作:

from peewee import MySQLDatabase
from playhouse.shortcuts import RetryOperationalError
class RetryMySQLDatabase(RetryOperationalError, MySQLDatabase):
    pass
db = RetryMySQLDatabase(
    host='127.0.0.1',
    database='dataname',
    user="root",
    passwd="123456",
    charset='utf8'
)

Python3中已经去除RetryOperationalError, 后来的版本又加上了(2021-03-03补充)

不过作者不推荐使用,想象如果在一个事务中,断开了链接,进行了自动重连

from peewee import MySQLDatabase
from playhouse.shortcuts import ReconnectMixin
# 防止断开 see: https://github.com/coleifer/peewee/issues/1992
class ReconnectMySQLDatabase(ReconnectMixin, MySQLDatabase):
    """peewee作者不推荐使用"""
    pass

参考

peewee解决问题”OperationalError: (2006, ‘MySQL server has gone away’)”

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Java 数据库
java BufferedWriter 写文件的踩坑记
需求很简单,将从数据库中查到的某些数据写入到文件中。
457 0
|
6月前
|
人工智能 前端开发 数据可视化
天都塌了,17K+ Star 的AI开源神器!Onlook 如何颠覆前端开发与设计协作?怎么办
Onlook是一款开源的视觉优先代码编辑器,结合Figma直观操作与VS Code强大功能,支持浏览器中实时构建、编辑和部署React应用。项目已获17K+Star,提供快速创建Next.js应用、所见即所得的可视化编辑、AI驱动开发工具及一键部署协作等功能,是前端开发与设计协作的理想选择。
993 0
|
算法 数据库 C语言
图论可达性c语言实现
这篇文章详细解释了图论中可达性的概念,并提供了无向图和有向图的C语言实现代码,包括图的初始化、边的添加、深度优先搜索(DFS)以及可达性的检查。
232 0
图论可达性c语言实现
|
人工智能 自然语言处理 物联网
AI Safeguard联合 CMU,斯坦福提出端侧多模态小模型
随着人工智能的快速发展,多模态大模型(MLLMs)在计算机视觉、自然语言处理和多模态任务中扮演着重要角色。
272 0
|
JSON 程序员 数据格式
程序员必知:同步接口和异步接口
程序员必知:同步接口和异步接口
1483 0
|
算法 测试技术 持续交付
代码重构:提升软件质量的艺术与实践
代码重构:提升软件质量的艺术与实践
379 0
|
存储 负载均衡 算法
ETCD(四)读请求处理过程
ETCD(四)读请求处理过程
434 0
|
SQL 关系型数据库 MySQL
[ERR] 2006 - MySQL server has gone away,Got a packet bigger than 'max_allowed_packet' bytes
[ERR] 2006 - MySQL server has gone away,Got a packet bigger than 'max_allowed_packet' bytes
213 0
|
存储 弹性计算 大数据
什么是阿里云服务器?阿里云服务器的优缺点分析
什么是阿里云服务器?阿里云服务器的优缺点分析
674 0