【问题标题】:What is the connection string for Google Cloud mySQL, in node.js?node.js 中 Google Cloud mySQL 的连接字符串是什么?
【发布时间】:2018-08-08 21:16:42
【问题描述】:

场景如下: 我正在本地编写一个 node.js 应用程序,并希望它(而不是 mySQL 模块)连接到在 Google Cloud Platform 上运行的 mySQL 数据库。

我无法正确连接字符串并不断出错。 GCP 拥有两个数据库名称——一个是我选择的,一个是生成的,更复杂。可能我应该将其中之一作为“数据库”提供到连接字符串中,主机可能是带有端口的 IP 地址(或不是(?)),我不确定“用户”应该是什么,或者是否有必要. GCP 帮助页面或其他地方的信息不足。

tl;dr:我需要以下内容才能将带有 mySQL 模块的 node.js 应用程序远程连接到 GCP 数据库:

var con = mysql.createConnection({
  host:"11.222.333.444:3306",
  user: "me"
  password:"passwo3d",
  database:"projectname-1528892969949:europe-west5:dbname"
});

谢谢!

【问题讨论】:

    标签: mysql google-cloud-platform database-connection connection-string


    【解决方案1】:

    原始连接字符串应类似于:mysql://user:password@localhost:port/db

    所以我认为你的代码应该是这样的:

    var con = mysql.createConnection({
      host:"11.222.333.444", <-- remove the port from your string
      user: "me"
      password:"passwo3d",
      database:"dbname" <--  you have it as the instance name .. its just suppose to be the DB name
    });
    

    您也可以尝试使用cloud proxy setup 连接到实例。您的主机只是本地主机。

    最后,您可以随时进入 GCP 控制台 -> 进入您的实例并打开一个 shell。我认为他们会在其中打印出gcloud cmd,您也可以从控制台复制值。

    根据您推送代码的方式,您可能还需要更改清单中的一些连接字符串。如果你能分享这些,我可以进一步提供帮助。

    【讨论】:

    • 谢谢普拉尚特。我没有意识到该实例不是实际数据库的实例,而是一个类似 SQL 服务的服务实例,其中包含数据库。
    【解决方案2】:

    为此,您必须首先在 GCP 上为您的 mysql 启用远程访问。一步一步的指导已经结束here,你可以留下安装mysql的前几个步骤。

    【讨论】:

    • 谢谢,但我认为这不能解决我的问题。我没有运行您建议的帮助页面所指的虚拟机,无论如何,我已经允许直接远程连接到 mySQL 实例。我需要的是正确的 conn 字符串,或者可能是我不知道的其他内容。
    猜你喜欢
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 2010-11-30
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多