开发者社区> 问答> 正文

挂架错误-'MySQL服务器已消失'

我正在使用Pylons(python框架)为一个简单的Web应用程序提供服务,但它似乎有时会死掉,并在错误日志中显示以下信息: (2006, 'MySQL server has gone away')

我做了一些检查,发现这是因为没有更新与MySQL的连接。不过,这应该不成问题,因为sqlalchemy.pool_recycle配置文件中的会自动使它保持活动状态。默认3600值为,但是1800由于这个问题,我将其拨回。它有所帮助,但根据文档3600 应该可以。错误仍然会半定期发生。我不想降低太多,但是不要使用DOS我自己的数据库:)。

也许我的MySQL配置中有些东西有些愚蠢?不知道在哪里看。

其他相关细节:

Python 2.5 Pylons: 0.9.6.2 (w/ sql_alchemy) MySQL: 5.0.51

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-15 15:30:56 522 0
1 条回答
写回答
取消 提交回答
  • 您可能要检查MySQL的超时变量:

    show variables like '%timeout%'; 您可能对此感兴趣wait_timeout(不太可能但可能:)interactive_timeout。在Debian和Ubuntu上,默认值为28800(MySQL会在8小时后终止连接),但也许平台的默认值是不同的,或者管理服务器的人配置的内容都不同。

    AFAICT pool_recycle实际上并没有保持连接的状态,而是在MySQL杀死它们之前自行使它们失效。我不熟悉挂架,但是如果使连接间歇性地执行a SELECT 1;是一种选择,那么它将以基本上没有服务器负载和最小网络流量为代价使它们保持活动状态。最后一个想法:您是否正在设法使用定向塔认为已经过期的连接?

    2019-11-15 15:31:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像