[英]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.