MySQL Connection not available问题解决方案

问题:

使用Flask-SQLALchemy连接mysql数据库,过几个小时第一次使用会出现MySQL Connection not available的情况,第二次使用又恢复正常了。

解决方案:

用命令查看数据库的过期时间

show global variables like 'wait_timeout';

1.修改mysql配置文件里wait_timeout参数,让这个时间大于连接池的回收时间(修改配置文件需要重启数据库,不推荐!)
2.修改数据库连接池的配置,数据库连接池都会带有一个参数:回收时间(就是一定时间内不使用就会回收),修改这个参数的值,小于wait_timeout的值即可。在flask-SQLAlchemy中有个配置是SQLALCHEMY_POOL_RECYCLE(多之后对线程池中的线程进行一次连接的回收),如果这个值是-1代表永不回收,Flask-SQLALchemy 自动设定这个值为2小时,可以将这个值设置的小于wait_timeout参数的值。

猜你喜欢

转载自www.cnblogs.com/tonylaoshi/p/13208678.html