场景如下: 我正在本地编写一个 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://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,您也可以从控制台复制值。
根据您推送代码的方式,您可能还需要更改 list 中的一些连接字符串。如果您可以分享这些,我可以进一步提供帮助。
关于mysql - node.js 中 Google Cloud mySQL 的连接字符串是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51755760/