我用烧瓶和小便.有时peewee会抛出这个错误
MySQL server has gone away (error(32, 'Broken pipe'))
Peewee数据库连接
db = PooledMySQLDatabase(database,**{ "passwd": password, "user": user, "max_connections":None,"stale_timeout":None, "threadlocals" : True }) @app.before_request def before_request(): db.connect() @app.teardown_request def teardown_request(exception): db.close()
在mysql错误"MySQL服务器已经消失(错误(32,'Broken pipe'))"之后,选择查询工作没有问题,但插入,更新,删除查询不起作用.
在插入,更新,删除查询后面工作(在mysql中)但是peewee抛出这个错误.
(2006, "MySQL server has gone away (error(32, 'Broken pipe'))")
lord63. j.. 5
peewee文档已经讨论过这个问题,这里是链接:错误2006:MySQL服务器已经消失
当MySQL终止空闲数据库连接时,可能会发生此特定错误.这通常发生在未明确管理数据库连接的Web应用程序中.当您的应用程序启动时,会打开一个连接以处理执行的第一个查询,并且由于该连接从未关闭,因此它将保持打开状态,等待更多查询.
因此,您在管理数据库连接时遇到一些问题.
由于我无法重现您的问题,您可以尝试这个,以这种方式关闭您的数据库:
@app.teardown_appcontext def close_database(error): db.close()
您可以从doc获得一些信息:第3步:数据库连接
peewee文档已经讨论过这个问题,这里是链接:错误2006:MySQL服务器已经消失
当MySQL终止空闲数据库连接时,可能会发生此特定错误.这通常发生在未明确管理数据库连接的Web应用程序中.当您的应用程序启动时,会打开一个连接以处理执行的第一个查询,并且由于该连接从未关闭,因此它将保持打开状态,等待更多查询.
因此,您在管理数据库连接时遇到一些问题.
由于我无法重现您的问题,您可以尝试这个,以这种方式关闭您的数据库:
@app.teardown_appcontext def close_database(error): db.close()
您可以从doc获得一些信息:第3步:数据库连接