![](/img/trans.png)
[英]How to connect to a Google cloud SQL instance from an external PHPMyAdmin installation?
[英]Connect google cloud SQL from Google Instance
我在Google Cloud的同一項目中有Cloud SQL
和Instance
。
我想使用命令行從實例連接到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.
我該如何建立連接。
您是否要從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.