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

本地通过代理连接Cloud SQL失败,部署Django至GAE遇阻求助

排查Cloud SQL代理连接超时问题

我之前部署Django到GAE时碰到过几乎一样的代理连接问题,结合你的报错信息,给你几个具体的排查方向:

  • 检查端口配置是否匹配
    你的代理日志显示监听的是127.0.0.1:3306,但报错里却在尝试连接Cloud SQL实例的3307端口——这很可能是关键问题!
    先确认Django的settings.py里的数据库配置:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'HOST': '127.0.0.1',
            'PORT': '3306',  # 必须和代理监听的端口一致
            'NAME': '你的数据库名',
            'USER': '你的用户名',
            'PASSWORD': '你的密码',
        }
    }
    

    另外,Cloud SQL的MySQL实例默认端口是3306,3307通常是只读副本的端口,如果你没有配置只读副本,不要用这个端口。

  • 确认Cloud SQL实例的连接名是否完整
    启动代理时必须使用完整的实例连接名,格式是[项目ID]:[区域]:[实例名],而不是只写实例名。比如你的启动命令应该是:

    cloud_sql_proxy.exe -instances=你的项目ID:us-central1:你的实例名=tcp:3306
    

    如果只写实例名,代理无法正确定位到你的Cloud SQL实例,会尝试连接错误的IP地址,导致超时。

  • 检查服务账号的权限
    确保启动代理时使用的服务账号(或本地默认凭据)拥有Cloud SQL Client角色:

    1. 打开Google Cloud控制台的IAM页面
    2. 找到对应的服务账号,确认已添加Cloud SQL Client角色
      如果没有这个权限,代理无法建立到Cloud SQL实例的连接,会出现超时或拒绝连接的错误。
  • 验证网络出站连通性
    虽然你关闭了本地防火墙,但有些网络环境(比如公司内网、校园网)会阻止到Cloud SQL端口的出站请求。可以用telnet测试一下:

    telnet 35.205.185.133 3307
    

    如果连接失败,说明你的网络环境限制了这个端口的访问,建议尝试:

    • 切换到个人热点网络测试
    • 联系网络管理员开放对应端口
    • 改用Cloud SQL的私有IP(需要配置VPC网络,适合生产环境)
  • 确认Cloud SQL实例状态
    登录Google Cloud控制台,检查你的Cloud SQL实例是否处于RUNNING状态,有没有异常的运维事件(比如正在备份、重启)。如果实例处于停止或维护状态,代理肯定无法连接。


内容的提问来源于stack exchange,提问作者Ben P

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:41:25