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



我最近在谷歌云上建立了一个MySQL数据库。我已经将我的IP地址列入了白名单,可以使用MySQL工作台连接到它,不会有任何问题。

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

似乎正在进行连接(我故意尝试使用错误的主机名进行连接,结果得到一个"不知道这样的主机"错误(。使用Google Cloud实例的IP地址:端口号,我会遇到无法识别表的问题,我认为这意味着我已经连接到主机,但它无法正确识别模式。

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

有人能告诉我吗

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

(2( 如何允许从谷歌本地主机访问?

有关更多信息,我使用连接

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调用数据库无关。事实上,这是因为谷歌平台对表名区分大小写,而我的MySQL本地版本则不然。

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

最新更新