Google cloud platform 从google实例连接google云SQL

Google cloud platform 从google实例连接google云SQL,google-cloud-platform,google-cloud-sql,Google Cloud Platform,Google Cloud Sql,在谷歌云的同一个项目中,我有cloudsql和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. 如何建立连接

在谷歌云的同一个项目中,我有
cloudsql
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.
如何建立连接。

您可能错过了连接到云SQL数据库的机会。这可以通过云SQL实例页面中的云控制台来完成

要查看从计算引擎实例连接到云SQL(使用mysql客户端)的分步指南,请检查。

您可能错过了连接到云SQL数据库的步骤。这可以通过云SQL实例页面中的云控制台来完成


要查看从计算引擎实例连接到云SQL(使用mysql客户端)的分步指南,请检查。

您是否正在尝试从计算引擎VM实例连接到云SQL实例

如果是这种情况,我可以建议首先授予您的服务帐户(计算引擎默认服务帐户或新的服务帐户)云SQL的相应IAM角色/权限[1]

然后,在VM实例命令行中验证/激活[2]您的服务帐户(建议为您的服务帐户生成JSON密钥文件,而不是P12密钥文件):

要为您的服务帐户生成密钥文件,您可以转到产品和服务菜单>IAM&admin>服务帐户。单击相应服务帐户右侧的三点按钮并选择“创建密钥”

您的密钥文件应该存储/上载到您的VM实例,以便它可以使用它来激活服务帐户

您可能还需要在云API访问范围面板中为云SQL授予VM实例访问权限。转到产品和服务菜单>计算引擎>虚拟机实例。选择您的VM实例并对其进行编辑

请注意,在编辑云API访问范围之前,您需要停止VM实例。转到“访问范围”>“为每个API设置访问权限”。启用并保存

您还必须启用云SQL管理API。进入产品和服务菜单>API和服务。搜索SQL管理员并启用它(等待几分钟)

启动VM实例并尝试云SQL测试(如有必要,请重新激活您的服务帐户)

MySQL的云SQL实例创建“root”用户。只需确保将其用作用户名或您创建的任何其他用户名(如果有)

考虑到这一点,因为您将从计算引擎VM实例进行连接,所以可能会要求yo提供MySQL客户端

[1]


[2]

您是否正在尝试从计算引擎VM实例连接到云SQL实例

如果是这种情况,我可以建议首先授予您的服务帐户(计算引擎默认服务帐户或新的服务帐户)云SQL的相应IAM角色/权限[1]

然后,在VM实例命令行中验证/激活[2]您的服务帐户(建议为您的服务帐户生成JSON密钥文件,而不是P12密钥文件):

要为您的服务帐户生成密钥文件,您可以转到产品和服务菜单>IAM&admin>服务帐户。单击相应服务帐户右侧的三点按钮并选择“创建密钥”

您的密钥文件应该存储/上载到您的VM实例,以便它可以使用它来激活服务帐户

您可能还需要在云API访问范围面板中为云SQL授予VM实例访问权限。转到产品和服务菜单>计算引擎>虚拟机实例。选择您的VM实例并对其进行编辑

请注意,在编辑云API访问范围之前,您需要停止VM实例。转到“访问范围”>“为每个API设置访问权限”。启用并保存

您还必须启用云SQL管理API。进入产品和服务菜单>API和服务。搜索SQL管理员并启用它(等待几分钟)

启动VM实例并尝试云SQL测试(如有必要,请重新激活您的服务帐户)

MySQL的云SQL实例创建“root”用户。只需确保将其用作用户名或您创建的任何其他用户名(如果有)

考虑到这一点,因为您将从计算引擎VM实例进行连接,所以可能会要求yo提供MySQL客户端

[1]


[2]

我试过这个。不使用公共IP和不接受私有IP。实例和Mysql都在同一个项目中,gcloud是否配置为使用此特定项目?(
gcloud config set project
)我尝试了这个。不使用公共IP和不接受私有IP。实例和Mysql都在同一个项目中,gcloud是否配置为使用此特定项目?(
gcloud配置集项目
~$ gcloud auth activate-service-account [ACCOUNT] --key-file=KEY_FILE