heroku 无法连接到 MySQL 服务器

时间:2021-01-19 15:53:35

标签: mysql heroku sqlalchemy

我使用flask-sqlalchemy连接mysql

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:''@127.0.0.1/pharmbase'

虽然这在本地工作正常,但部署后 heroku 无法连接到 MySQL 服务器。 以下是引用消息

2021-01-19T15:36:19.137152+00:00 app[web.1]: sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")

请提供有关如何解决此问题的任何解决方案

1 个答案:

答案 0 :(得分:1)

127.0.0.1 作为 IP 地址的意思是“这台机器”。更正式地说,它是环回接口。在您的笔记本电脑上,您有一个 MySQL 服务器正在运行。您的 heroku dyno 没有,因此您的连接尝试失败。

如果不在办公室或家庭路由器/防火墙上进行一些网络配置工作,您将无法从运行在 heroku dyno 上的程序连接到笔记本电脑的 MySQL 服务器。但是要开始做这项工作,您需要加快网络速度。 (教您如何操作超出了 Stack Overflow 答案的范围。)

您可以从第三方向您的 Heroku 应用添加 MySQL add-on。 Heroku 本身提供了一个带有免费层的 postgreSQL add-on,但不是 MySql。每月支付 10 美元,您就可以订阅这些 MySQL 附加组件之一,然后您就可以开始运行了。