Google Cloud平台中使用node.js连接mySQL数据库的连接字符串是什么?

3
情景如下:我正在本地编写一个node.js应用程序,并希望它(即mySQL模块)连接到在Google Cloud Platform上运行的mySQL数据库。
我无法正确设置连接字符串并且一直出现错误。GCP为数据库提供了两个名称-一个是我选择的名称,另一个更复杂的被生成的名称。可能我应该将其中一个作为“database”提供到连接字符串中,主机可能是IP地址和端口号(或者不是?),我不确定“user”应该是什么,或者是否必要。GCP帮助页面或其他地方都没有足够的信息。
简而言之:我需要以下内容将一个带有远程mySQL模块的node.js应用程序连接到GCP数据库。
var con = mysql.createConnection({
  host:"11.222.333.444:3306",
  user: "me"
  password:"passwo3d",
  database:"projectname-1528892969949:europe-west5:dbname"
});

谢谢你!
2个回答

2
原始的连接字符串应该类似于: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
});

您也可以尝试使用云代理设置连接实例。您的主机名只需为localhost。
最后,您可以始终进入GCP控制台->转到您的实例并打开shell。我认为他们会在那里打印出gcloud命令,您还可以从控制台复制值。
根据您推送代码的方式,您可能还需要更改清单中的一些连接字符串。如果您可以分享这些内容,我可以提供进一步帮助。

1
谢谢Prashant。我没意识到该实例并非实际数据库的实例,而是一个类似SQL服务的实例,其中包含了多个数据库。 - marko-36

-1

为了实现这一点,您首先需要在GCP上启用mysql的远程访问。这里提供了一份逐步指南,您可以跳过前几个安装mysql的步骤。


谢谢,但我不认为这解决了我的问题。我没有运行虚拟机,你建议的帮助页面是针对虚拟机的,并且我已经直接允许了MySQL实例的远程连接。我需要的是正确的连接字符串,或者可能还有其他我不知道的东西。 - marko-36

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接