【问题标题】:NodeJS + MySql hostingNodeJS + MySql 托管
【发布时间】:2014-10-27 15:24:41
【问题描述】:

我想托管基于 node.js 和 MySql 数据库的应用程序。我尝试 heroku 托管。我已经创建了一个应用程序并使用 Punch DB 计划添加了 ClearDB 插件。这个插件的主要限制是我不能在这个计划中创建任何用户定义的函数和事件。它支持昂贵的数据库计划。

然后我将我的数据库托管在 Google Cloud SQL 上。它允许创建用户定义的函数和事件。但是我无法从我的 heroku 应用程序访问数据库,因为我不知道如何为我的谷歌云数据库授权外部 heroku 网络。我该怎么做?

或者可能有其他没有上述限制的 NodeJS + MySql 应用程序托管?

【问题讨论】:

  • 您要创建什么样的事件/用户定义函数?
  • 从某些表中删除的确定性函数和事件不是实际数据

标签: mysql node.js heroku google-cloud-sql


【解决方案1】:

你应该能够:

a) 通过 authorizing 通过代理服务(如 QuotaGuard StaticProximo)使用您的 Heroku dyno 的外部 IP 来使用 Cloud SQL;
b) 使用 Amazon RDS 执行相同操作。

可能有帮助的其他详细信息:
1. SO question 与 QuotaGuard 相关

澄清一下:您必须使用这样的第三方插件,因为 Heroku 不能保证您的测功机使用单个 IP 甚至是一系列 IP。

【讨论】:

    【解决方案2】:

    我添加了 QuotaGuard 静态插件,它拥有两个 IP 地址。比我将此地址添加到我的 Google Cloud Sql 的授权网络中。之后我尝试使用guide 连接到数据库。这是我的代码:

    exports.getConnection = () ->
        dbConnParams =
            host: 'google cloud sql ip'
            port: 3306
    
        proxy = url.parse process.env.QUOTAGUARDSTATIC_URL
        auth = proxy.auth;
        username = auth.split(":")[0]
        pass = auth.split(":")[1]
    
        sock_options =
            host: proxy.hostname
            port: proxy.port
            user: username
            pass: pass
    
        sockConn = new SocksConnection dbConnParams, sock_options
        dbConnection = mysql.createConnection({
            user: 'root',
            password: 'pwd',
            stream: sockConn
        });
    
        return dbConnection
    

    但是我收到一个错误:“连接 ECONNREFUSED”。这种方法有什么问题?

    【讨论】:

    • 可以肯定的是,您基本上是 did this 使用 QuataGuard IP,对吧?另外,您是否尝试过在本地计算机上通过 mysql(或 Workbench 或其他)连接到 CloudSQL?
    • 您是否尝试过使用端口1080 作为sock_options.port
    • @brennebeck 是的,我做了一个你被引用的步骤。我尝试通过 Workbench 连接 - 它连接成功。但是我还没有尝试使用 1080 端口。我今天试试看。
    • 我尝试使用端口 1080 但仍然收到相同的错误 ECONNREFUSED
    • 今晚晚些时候我会尝试复制您的问题。我注意到在 CloudSQL 文档中提到,如果您使用它,您需要更新 root 帐户的密码,这是您没有这样做的一个延伸,但只是为了确认:您确实更新了它,是吗?
    猜你喜欢
    • 1970-01-01
    • 2021-05-06
    • 2015-04-02
    • 2018-08-06
    • 2016-07-07
    • 2012-09-21
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多