0

我正在使用 Peewee ORM 从我的 python 项目中更新和修改数据库表。我已使用以下方法将最大连接限制设置为 15:

set global max_connections = 15

为了获得总连接,我运行命令,

> select count(*) from  information_schema.processlist;

> 12

现在连接限制是 15,即使我运行我的代码通过打开连接在 db 上做一些工作,连接数也会增加 2

> select count(*) from  information_schema.processlist;

> 14

现在即使完成任务,我关闭 python 终端我仍然看到来自进程列表计数的连接总数为 14,似乎旧连接被重用或者什么,如果我运行相同的命令来更新 db 表,从不同的终端我添加了 2 个连接,但它给出了错误说连接太多。但是我打开的第一个终端仍然可以使用。

如果需要,我可以发布 peewee 代码。

4

1 回答 1

0

如果您使用的是常规 MySQLDatabase 类,则在连接上调用 .close() 将关闭它。

另一方面,如果您使用的是 PooledMySQLDatabase,.close() 会将连接回收到可用连接池中。您可以使用以下 API 管理池中的连接:http: //docs.peewee-orm.com/en/latest/peewee/playhouse.html#PooledDatabase

于 2018-09-28T16:50:47.243 回答