2015-11-04 272 views
0

枝成員
所以我試圖從外部站點PDOException」有消息‘SQLSTATE [HY000] [2002]連接超時’嘗試連接到Google雲SQL

我連接到谷歌雲SQL時在實例 - >訪問控制 - >授權

授權在谷雲中的服務器的IP,實例也被分配了一個IP可以說'XXXX', 和一個用戶也創建用戶名'用戶名'和密碼'密碼'

現在連接用於連接谷歌雲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 

我究竟做錯了什麼?

+0

我試着授權我的本地系統IP並運行腳本,它的工作原理! 所以這裏的問題實際上是防火牆 謝謝你們的支持:) –

回答

1

默認情況下,雲端SQL實例不支持IPv4。

您是否啓用IPv4地址?它位於訪問控制> IP地址選項卡下。

+0

是的先生 我確實啓用IPV4地址,我用它作爲'mysql:host =「分配ip」' 我做對了嗎? –

+0

我們必須給出任何端口號嗎? –

+0

它使用默認的MySQL端口號 - 你不需要那樣做。 當你說'MySQL的:主機= 「分配的IP」',我假設它是像'MySQL的:主機= 「10.0.0.1」'(另一種有效的IP地址)。 你可以用命令行連接mysql嗎? –

0

如果CloudSQL實例是按需實例,則在實例快速啓動時,您有時會首次嘗試連接超時。

如果這是問題,那麼解決方案是永遠在線的實例或(最好)自動連接重試與退避。

+0

對不起,先生,我沒有得到這部分防火牆'的自動連接與後臺off'如果重試這意味着重新加載頁面,我嘗試每隔5分鐘重新加載頁面一個小時 –

相關問題