如何从Cloud Shell连接到Cloud SQL?

时间:2016-04-24 18:12:13

标签: google-cloud-platform google-cloud-sql google-cloud-shell

我想使用Cloud Shell在我的第二代Cloud 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列入白名单以进行访问?

2 个答案:

答案 0 :(得分:3)

修改

上面的说明不起作用,它显示了另一条消息。

您第一次需要运行以下命令: 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>

  4. 在命令中使用它: $ gcloud beta sql connect <your project>:us-central1:<instance name> --user root

答案 1 :(得分:-1)

您应首先使用:gcloud config set project projectname

设置项目

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