gpt4 book ai didi

python - sqlalchemy.exc.OperationalError : (pymysql. err.OperationalError)(2013, 'Lost connection to MySQL server during query')

转载 作者:行者123 更新时间:2023-11-30 22:16:14 28 4
gpt4 key购买 nike

我正在使用 Python、Flask 和 SQLAlchemy。我在构建应用程序时一直使用本地数据库,并且它在以下代码中运行良好:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config[
'SQLALCHEMY_DATABASE_URI'] = \
'mysql+pymysql://<username>:<password>@localhost/<DBName>'

db = SQLAlchemy(app)

现在,我尝试使用 Python 包 sshtunnel 获取此代码以连接到远程数据库。这段代码如下所示:

from flask import Flask
from sshtunnel import SSHTunnelForwarder
from flask_sqlalchemy import SQLAlchemy

forwarding_server = SSHTunnelForwarder(
'1.2.3.4', #my host IP address
ssh_username="user",
ssh_password="password",
remote_bind_address=('127.0.0.1', 8080)
)

forwarding_server.start()
local_port = str(forwarding_server.local_bind_port)
app = Flask(__name__)
app.config[
'SQLALCHEMY_DATABASE_URI'] = \
'mysql+pymysql://<username>:<password>@127.0.0.1:' + local_port + '/<DBName>'

db = SQLAlchemy(app)

看起来像是正在连接,但在启动我的 Flask 应用程序后,我立即收到以下错误:

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')

对此问题的任何见解都会有所帮助。提前致谢!

最佳答案

您可以在 Flask-SQLAlchemy 的配置中将 SQLALCHEMY_POOL_RECYCLE 设置为小于 SQLALCHEMY_POOL_TIMEOUT 的值。检查timeouts文档的一部分。

关于python - sqlalchemy.exc.OperationalError : (pymysql. err.OperationalError)(2013, 'Lost connection to MySQL server during query'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50012246/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com