4

我想使用雲端Shell在我的第二代雲Sql實例上運行數據庫遷移。如何從Cloud Shell連接到雲端SQL?

我發現一個example in the docs如何使用gcloud連接。但是,當我運行命令即時得到一個錯誤:

$ gcloud beta sql connect my-instance --user=root 
ERROR: (gcloud.beta.sql.connect) Invalid instance property. 

但是,即使這樣做工作,林不知道如何從執行我遷移我的Python腳本連接。我會使用什麼連接字符串?我是否需要手動將Cloud Shell IP列入白名單才能訪問?

回答

4

編輯

上面的說明並沒有工作,這是顯示另一條消息。

第一次你需要運行下面的命令: gcloud beta sql connect <instance id> --project <project id>:us-central1 --user root

而且,我切換到我的項目在控制檯: gcloud config set project <project id>

不過,我現在得到另一個錯誤: ERROR: (gcloud.beta.sql.connect) The client is not authorized to make this request.

我想我需要讓客戶...

另一個編輯允許客戶端

要最終連接到數據庫我已經安裝Google SQL Proxy

我用FUSE(我使用Mac)設置它。按照Google文檔中的說明打開連接後。我可以通過mysql命令行進行連接。 $ mysql -u root -p -S <localtion of cloud sql proxy folder>/<project id>:us-central1:<db instance id>

原始

只是想出這一個。以下是如何做到這一點:

  1. 單擊比如你要連接

  2. Overview部分,向下滾動到Properties

  3. Properties你會看到Instance connection name。它看起來像<your project>:us-central1:<instance name>

使用的命令: $ gcloud beta sql connect <your project>:us-central1:<instance name> --user root

+2

的gcloud中的connect命令不使用連接字符串':'。運行:gcloud sql實例列表以獲取可連接到的實例的id,並簡單地將原始名稱提供給connect命令。 – Mark

+0

@Mark上面的工作對我來說......用「:」,我還需要SQL [驅動程序](https://github.com/go-sql-driver/mysql)。然而...我沒有嘗試過你的命令,可能會更容易!謝謝! –

0

你應該先設置你的項目:gcloud config set project projectname

之後,你可以再做一次:gcloud sql instances describe my_instance_name