首页 > 解决方案 > 无法登录谷歌云存储sql实例

问题描述

我在 Google Cloud > Storage > SQL > MYSQL 中创建了实例。现在我必须在其中导入数据库,所以我正在尝试连接到 MYSQL

使用管理员,但它给出了以下错误

SQLSTATE[HY000] [2002] 操作超时

我也尝试通过 HeidiSQL > MariaDB 或 MYSQL (SSL Tunnel) 但在这里它也没有连接并给出错误

https://prnt.sc/o58in0

我提到

Host:SQL实例的公网IP

用户名:root

任何建议,有什么可以解决的?

标签: mysqlgoogle-cloud-sqlheidisqladminer

解决方案


您的错误通常意味着防火墙阻止了您的连接尝试。

对于 Cloud SQL,这通常意味着您尚未启用实例级访问。

由于您的错误是 10060,这是一条 Windows WinSock 错误消息,我假设您在 Windows 上运行。Linux 的步骤与此类似。

有两种方法可以启用对 Cloud SQL 的访问:

云 SQL 代理

这是推荐的方法并且是安全的。下载 Cloud SQL 代理并将其安装到您要连接的计算机上。如果您已设置 Cloud SDK (gcloud),Cloud SQL 代理将使用您的 Cloud SDK 凭据。如果没有,那么您将需要创建并下载一个(通常)具有 Cloud SQL 客户端角色的服务帐户。

您将需要 Cloud SQL 实例详细信息页面中的“实例连接名称”。

  • 将Cloud SQL 代理(链接)下载到您的计算机。记住程序的完整路径。将程序另存为“cloud_sql_proxy.exe”
  • 启动 Cloud SQL 代理

[full_path_to_program]\cloud_sql_proxy -instances=[INSTANCE_CONNECTION_NAME]=tcp:3306

或者

[full_path_to_program]\cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306 -credential_file=[PATH_TO_KEY_FILE]
  • 使用 mysql.exe 连接:`mysql -u USERNAME -p --host 127.0.0.1

公共 IP 方法

除非您还启用 SSL,否则第二种方法不安全,我不会在此答案中介绍。除了知识渊博的人,我不推荐这种方法。

  • 弄清楚你的公共 IP 地址是什么。转到任何网站,例如“MXToolbox” https://mxtoolbox.com/whatismyip/

  • 转到 Google 云端控制台

  • 转到 Cloud SQL 实例详细信息页面
  • 选择连接选项卡
  • 点击添加网络
  • 在网络字段中,使用 CIDR 通知输入您的公共 IP 地址:例如145.11.22.33/32
  • 输入名称,例如“我的家庭 IP”
  • 点击完成
  • 点击保存

注意:大多数家庭 Internet 服务会定期更改您的公共 IP 地址。这意味着如果您使用第二种方法,则需要在 Cloud SQL 中更新您的公共 IP 地址。


推荐阅读