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
软件版本
我们应该如何解决这个问题?
答案 0 :(得分:0)
您可以重新启动mysql服务器以测试重新连接。
我的sqlalchemy引擎配置通常是:
pool_recycle=3600,
pool_size=5,
max_overflow=10,
pool_timeout=30,
pool_pre_ping=True