Sqlalchemy错误:MySQL连接不可用

时间:2018-02-22 21:05:56

标签: python mysql sqlalchemy python-3.6

Python 3.6脚本在首次启动时使用SQLAlchemy访问MySQL数据库。然后脚本继续运行几个小时而不访问MySQL数据库。但是当它最终决定访问MySQL时,我们收到错误

  

sqlalchemy.exc.OperationalError:(mysql.connector.errors.OperationalError)MySQL连接不可用。 [SQL:' SELECT ........]

引擎是使用

创建的
create_engine("mysql+mysqlconnector://..., pool_pre_ping=True, pool_recycle=290)

pool_recycle值已经减少到290秒,远远低于其他SO帖子中建议的3600。

启用pool_pre_ping也无助于重新连接到MySQL以避免上述错误。

MySQL变量

SHOW VARIABLES LIKE 'wait_%';wait_timeout提供了值28800

SHOW VARIABLES LIKE 'interactive_%';interactive_timeout提供了值28800

软件版本

  • Python 3.5
  • SQLAlchemy 1.2.2
  • Ubuntu 16.04

我们应该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以重新启动mysql服务器以测试重新连接。
我的sqlalchemy引擎配置通常是:

pool_recycle=3600,   
pool_size=5,   
max_overflow=10,   
pool_timeout=30,  
pool_pre_ping=True