mysql - 无法登录谷歌云存储sql实例
问题描述
我在 Google Cloud > Storage > SQL > MYSQL 中创建了实例。现在我必须在其中导入数据库,所以我正在尝试连接到 MYSQL
使用管理员,但它给出了以下错误
SQLSTATE[HY000] [2002] 操作超时
我也尝试通过 HeidiSQL > MariaDB 或 MYSQL (SSL Tunnel) 但在这里它也没有连接并给出错误
我提到
Host:SQL实例的公网IP
用户名:root
任何建议,有什么可以解决的?
解决方案
您的错误通常意味着防火墙阻止了您的连接尝试。
对于 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 地址。
推荐阅读
- python - DataFrame 中特定项目的值计数
- kubernetes - 在 Helm 上删除 Kubernetes 机密
- typescript - NativeScript-Vue typescript 链式加载 babel-loader 和 ts-loader
- javascript - JSON 中的条件过滤
- react-native - GraphQL SDL(aws appsync)中的“不能为不可为空的类型返回 null:父 'Messages' (/getMessages/sendBy) 中的 'Person'”
- mysql - 存储位置数据的最佳方式
- python-3.x - python html表只得到第一行
- mysql - 有没有办法优化这个查询?
- python - 找不到版本
- svn - SVN“...已经是不同 URL 的工作副本”问题和额外的 .svn 问题