You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移动端连接Google Cloud MySQL超时问题求助

解决Google Cloud MySQL仅本地WiFi可连接的问题

问题描述

开发的Kivy App连接Google Cloud MySQL数据库时,仅在自身WiFi环境下能正常连接,切换其他网络出现连接超时错误,核心报错:

mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '35.202.36.237:3306' (110 Connection timed out)

解决步骤

1. 检查Cloud SQL授权网络配置

  • 登录Google Cloud控制台,找到你的Cloud SQL实例
  • 进入「连接」标签页,查看「授权网络」列表
  • 这里大概率只添加了你家WiFi的公网IP,其他网络的IP不在列表中,导致被Cloud SQL拦截
    • 临时测试:添加0.0.0.0/0(允许所有IP连接),保存后测试其他网络是否能连接(注意:此配置不安全,测试完成后务必修改为指定IP范围)
    • 长期方案:获取你常用网络的公网IP(可通过搜索引擎查「我的IP」),添加到授权网络列表

2. 验证VPC防火墙规则

  • 进入Google Cloud控制台的「VPC网络」->「防火墙规则」
  • 确认存在允许TCP 3306端口入站流量的规则,且规则的「源IP范围」包含你要连接的网络IP
  • 如果没有对应规则,创建新规则:
    • 名称:允许MySQL入站
    • 方向:入站
    • 目标:指定目标标签(选择Cloud SQL实例的标签)或所有实例
    • 来源IP范围:按需填写(如0.0.0.0/0测试,或指定IP)
    • 协议和端口:指定tcp:3306

3. 检查MySQL用户的主机权限

  • 用MySQL Workbench连接数据库,执行以下SQL:
    SELECT user, host FROM mysql.user;
    
  • 查看App使用的数据库用户对应的host字段,如果是特定IP而非%,则仅该IP能连接
  • 修改用户权限(替换your_username和your_password):
    ALTER USER 'your_username'@'%' IDENTIFIED BY 'your_password';
    FLUSH PRIVILEGES;
    

4. 测试网络连通性

  • 在其他网络的设备上,打开终端执行:
    nc -zv 35.202.36.237 3306
    
    (Windows可使用telnet 35.202.36.237 3306,需先启用telnet功能)
  • 如果返回「连接成功」,说明网络通路正常,问题出在数据库配置;如果连接失败,继续排查防火墙或网络运营商限制

内容的提问来源于stack exchange,提问作者Ezequiel Albano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:23:17