python - SQLAlchemy 错误 : MySQL Connection not available

标签 python mysql sqlalchemy python-3.6

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

sqlalchemy.exc.OperationalError: (mysql.connector.errors.OperationalError) MySQL Connection not available. [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_timeout28800

SHOW VARIABLES LIKE 'interactive_%';interactive_timeout28800

软件版本

  • python 3.5
  • SQLAlchemy 1.2.2
  • Ubuntu 16.04

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

最佳答案

您可以重启mysql服务器来测试重连情况。
我的 sqlalchemy 引擎配置一般是:

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

关于python - SQLAlchemy 错误 : MySQL Connection not available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48937154/

相关文章:

php - 如何构造此查询以首先显示所需的行,然后显示其余行?

php - 检查 MySQL 中的重复项

python - 在 SQLAlchemy 中使用连词进行查询

python - 如何使用 SQLAlchemy 对 *count* 子查询求和?

mysql - 查找一对多连接表满足一个条件但不满足另一个条件的所有记录

python - 在维护 Pip 安装的同时安全卸载 Anaconda

python - 使用自定义大小的间隔和聚合函数连接两个 pandas 数据框

python - XPath - 返回具有特定字符串模式的所有节点

python - 曾孙的 SQLAlchemy 链接关联代理?

python - 在 None 上拆分列表并记录索引