簡體   English   中英

從Google Instance連接Google Cloud SQL

[英]Connect google cloud SQL from Google Instance

我在Google Cloud的同一項目中有Cloud SQLInstance

我想使用命令行從實例連接到Mysql(從Google Cloud SQL)。

我正在使用命令連接:

gcloud sql connect cloud-sql-name --user=username

其給予:

 ERROR: (gcloud.sql.connect) There was no instance found  or you are not authorized to connect to it.

我該如何建立連接。

您可能錯過了實例IP授權才能連接到Cloud SQL數據庫。 例如,可以通過“ Cloud SQL實例”頁面中的Cloud Console完成此操作。

要查看從Compute Engine實例連接到Cloud SQL(使用mysql客戶端)的分步指南,請查看此文檔頁面

您是否要從Compute Engine VM實例連接到Cloud SQL實例?

如果是這種情況,我建議您首先為您的服務帳戶(Compute Engine默認服務帳戶或新帳戶)授予Cloud SQL [1]的相應IAM角色/權限。

然后,在VM實例命令行中驗證/激活[2]您的服務帳戶(建議為您的服務帳戶生成JSON密鑰文件而不是P12密鑰文件):

~$ gcloud auth activate-service-account [ACCOUNT] --key-file=KEY_FILE

要為您的服務帳戶生成密鑰文件,您可以轉到“產品和服務”菜單>“ IAM和管理員”>“服務帳戶”。 單擊相應服務帳戶右側的三點按鈕,然后選擇“創建密鑰”。

您的密鑰文件應存儲/上傳到您的VM實例,以便它可以使用它來激活服務帳戶。

您可能還需要在其Cloud API訪問范圍面板中為VM SQL授予VM實例訪問權限。 轉到產品和服務菜單> Compute Engine> VM實例。 選擇您的VM實例並進行編輯。

請注意,在編輯Cloud API訪問范圍之前,您將需要停止VM實例。 轉到“訪問范圍”>“為每個API設置訪問權限”。 啟用並保存。

您還必須啟用Cloud SQL Admin API。 轉到產品和服務菜單> API和服務。 搜索並啟用SQL Admin(等待幾分鍾)

啟動VM實例並嘗試進行Cloud SQL測試(必要時重新激活服務帳戶)。

您的MySQL的Cloud SQL實例將創建“ root”用戶。 只需確保使用它作為用戶名或您創建的其他任何用戶名(如果有)。

請注意,由於您將要從Compute Engine VM實例進行連接,因此可能會要求您提供MySQL客戶端。

[1] https://cloud.google.com/sql/docs/mysql/project-access-control

[2] https://cloud.google.com/sdk/gcloud/reference/auth/activate-service-account

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM