【问题标题】:Deployed database has no connections部署的数据库没有连接
【发布时间】:2018-11-21 08:46:42
【问题描述】:

我已经部署了一个应用到heroku:https://stark-citadel-91743.herokuapp.com/

应用程序最初会正确加载,直到您单击需要数据库的按钮。然后它崩溃了。

一切都在本地开发环境中运行。我相信我已经在 heroku 仪表板的配置变量(数据库 url、数据库名称、用户名、密码)中正确设置了生产的所有连接设置。但是在生产中它不起作用。

设置不正确的两个证据: 1) 当我在“当前连接”下登录 ClearDB MySQL 插件(在我的 heroku 仪表板中)时,它显示“当前没有与数据库建立连接。” 2)当我使用邮递员访问我为测试对数据库的请求而创建的自定义端点时,我得到:“添加颜色时出错:错误:连接 ECONNREFUSED 127.0.0.1:3306”

有什么线索吗?谢谢!

【问题讨论】:

    标签: javascript database heroku knex.js cleardb


    【解决方案1】:

    如果您的数据库也在 keroku 主机上设置:

    检查数据库设置(用户名、密码、端口等)

    如果您确实需要连接回您自己的数据库(由您或其他第三方托管);

    您应该找出设置并替换为 127.0.0.1:3306,这仅适用于本地环境

    更新:

    127.0.0.1 是 localhost,也就是你的机器。您的测试用例正在运行,因为您的服务器和数据库托管在同一台机器上(两者都具有相同的 ip)。但是,当您的代码部署到 heroku 时,您的 heroku 服务器无法找到托管在同一台机器上的数据库。这就是您遇到此问题的原因

    【讨论】:

    • 你好@tung yu。谢谢,但我不完全清楚你在说什么。我了解用户名、密码、端口,并且已经检查过了。连接回“您自己的数据库”是什么意思?你能详细说明一下吗?
    • 已更新。换句话说,首先,您必须了解如果 heroku 希望您使用您的数据库或他们托管的数据库,该怎么办
    • 啊,是的,我将 heroku 设置为使用他们托管的数据库。使用 ClearDB 插件。但是应用程序没有成功连接到这个 ClearDB 数据库。我想不出我做错了什么。我花了将近一天的时间来处理它。如果您有任何建议,谢谢。如果你想看代码,我可以分享 repo。
    • 这种情况请查看link
    • 我不是heroku用户,所以我想我能做的就是这个
    猜你喜欢
    • 2015-12-10
    • 2019-01-08
    • 2018-04-11
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2018-01-17
    • 1970-01-01
    相关资源
    最近更新 更多