1 回答
TA贡献1779条经验 获得超6个赞
我现在有它工作了。使用池连接似乎为我解决了这个问题。
mysql.connector.connect(
host='10.0.0.25',
user='xxxxxxx',
passwd='xxxxxxx',
database='xxxxxxx',
pool_name='batman',
pool_size = 3
)
def connection():
"""Get a connection and a cursor from the pool"""
db = mysql.connector.connect(pool_name = 'batman')
return (db, db.cursor())
我在每个查询函数之前调用,然后在返回之前关闭游标和连接。似乎有效。不过,仍然有更好的解决方案。connection()
编辑
从那以后,我找到了一个更好的解决方案。(我仍然偶尔会遇到池连接的问题)。实际上,Flask有一个专用的库来处理mysql连接,这几乎是一个直接的替代品。
来自 bash:pip install Flask-MySQL
将 、 、 添加到 Flask 配置中。然后在包含 Flask App 对象的主 Python 文件中:MYSQL_DATABASE_HOSTMYSQL_DATABASE_USERMYSQL_DATABASE_PASSWORDMYSQL_DATABASE_DB
from flaskext.mysql import MySQL
mysql = MySQL()
mysql.init_app(app)
要获得连接:mysql.get_db().cursor()
所有其他语法都是相同的,从那以后我没有遇到任何问题。长期以来一直使用此解决方案。
添加回答
举报