PDOException'与消息'SQLSTATE [HY000] [2002]连接超时'当试图连接到谷歌云sql

时间:2015-11-04 12:32:04

标签: php mysql google-app-engine google-cloud-sql

Hie成员
所以我试图从外部网站连接到Google云sql

我在Instance中授权google云中的服务器的ip - >访问控制 - >授权

并且实例也被分配了一个IP让我们说'X.X.X.X', 并且还创建了一个用户名为“username”和密码“password”

的用户

现在我用的连接谷歌云sql的连接代码如下

$db = new pdo('mysql:host=X.X.X.X;dbname=db','username','password');

我尝试打开该页面,但收到以下错误

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Connection timed out' in /home/kannadakavana/public_html/test.php:17 Stack trace: #0 /home/kannadakavana/public_html/test.php(17): PDO->__construct('mysql:host=X....', 'username', '') #1 {main} thrown in /home/kannadakavana/public_html/test.php on line 17

我做错了什么?

2 个答案:

答案 0 :(得分:1)

默认情况下,Cloud SQL实例没有启用IPv4。

您启用了IPv4地址吗?它位于Access Control> IP地址选项卡。

答案 1 :(得分:0)

如果CloudSQL实例是按需实例,则有时会在实例旋转时首次尝试连接超时。

如果这是问题,则解决方案是始终在实例上或(最好)自动连接重试与退避。