我是靠谱客的博主 小巧哈密瓜,最近开发中收集的这篇文章主要介绍SqlAlchemy: (OperationalError) 2006, MySQL server has gone away,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
问题:
这实际上是MySQL的错误消息。 这意味着无法连接上MySQL了。默认情况下,MySQL数据库连接在闲置8小时之后关闭。 没有MySQL连接意味着无法执行任何SQL操作。 所以SqlAlchemy报出错误。
如何解决:
首先查看mysql跟timeout有关的设置,如下图
show variables like '%timeout%';
上图中的interactive_timeout = 28800 s,也就是28800/3600 = 8小时。
当使用SQLAlchemy时要解决上述问题,只要create_engine按照如下参数定义:
engine = create_engine(db_path, pool_size = 10, pool_recycle=7200)
看一下pool_recycle变量。 这会将SqlAlchemy引擎配置为每7200秒(小于28800秒)重新连接一次。 这个简单的解决方案确保了MySQL连接的存在。
官方文档:https://docs.sqlalchemy.org/en/13/core/engines.html?highlight=create_engine#sqlalchemy.create_engine
最后
以上就是小巧哈密瓜为你收集整理的SqlAlchemy: (OperationalError) 2006, MySQL server has gone away的全部内容,希望文章能够帮你解决SqlAlchemy: (OperationalError) 2006, MySQL server has gone away所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复