我正在使用 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
最佳答案
我想我修好了。事实证明我有一个简单的配置错误。我的ini文件读取:
sqlalchemy.default.url = [connection string here]
sqlalchemy.pool_recycle = 1800
问题是我的 environment.py
文件声明引擎只会映射带有前缀的键: sqlalchemy.default
所以 pool_recycle
被忽略了。
解决办法就是简单地将ini中的第二行改为:
sqlalchemy.default.pool_recycle = 1800
关于python - Pylons 错误 - 'MySQL server has gone away',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8154/