繁体   English   中英

从 localhost 应用程序连接到 Google Cloud 上的 MySQL 数据库

[英]Connecting to MySQL database on Google Cloud from localhost application

我最近在 Google Cloud 上建立了一个 MySQL 数据库。 我已将我的 IP 地址列入白名单,并且可以使用 MySQL 工作台连接到它,没有任何问题。

我正在开发一个 PHP 应用程序,我在 localhost:8000 上运行它。 当我连接到本地 MySQL 实例时,一切正常,但是在尝试连接到 Google Cloud 实例时遇到了问题。

似乎正在建立连接(我尝试故意连接错误的主机名并得到“没有这样的主机已知”错误)。 使用 IP 地址:Google Cloud 实例的端口号,我遇到了无法识别表的问题,我认为这意味着我已连接到主机,但无法正确获取架构。

我想知道这个问题是否是由于连接是从本地主机调用的,我需要在谷歌云上设置一些东西来允许这个。

谁能告诉我

(1) 如果这可能是问题所在,如果是,

(2) 如何在 Google 上允许从 localhost 进行访问?

有关更多信息,我使用

pdo = new PDO($dsn, "root", <password>, $options);

在哪里

$dsn = "mysql:host=<ip-address>:<port>;dbname=<schema-name>;"

$options = [
   PDO::ATTR_PERSISTENT => false,
   PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
   PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE => true,
   PDO::ATTR_STRINGIFY_FETCHES => false
];

以下在本地实例上运行良好:

$dsn = "mysql:host=localhost:3306;dbname=<schema-name>;"

提前致谢!

在玩了一些之后,我发现我的问题与我从 localhost 调用数据库这一事实无关。 事实上,这是因为 Google 平台对表名区分大小写,而我的本地版本 MySQL 则不是。

所以我的问题的答案是,这与在 localhost 上运行应用程序无关

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM