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

标准App Engine部署Django应用连接CloudSQL出现Connection refused错误

App Engine标准环境连接Cloud SQL故障排查方案
  • 优先核对配置一致性:你提供的配置中,settings.py里填写的Cloud SQL实例连接名为asim800:us-central1:django-mysql-1,但实际日志加载的host路径为/cloudsql/asim800:us-central1:django-app1,二者实例后缀名不一致,请先核对Cloud SQL控制台中实例的正式连接名,确保settings.py、app.yaml中填写的连接名和控制台完全一致。
  • 修复App Engine部署配置:你报错中出现localhost的根本原因是未在app.yaml中配置Cloud SQL实例挂载规则,GAE标准环境不会自动创建/cloudsql/下的Unix socket文件,MySQL驱动找不到指定的socket路径时会默认回退到连接localhost 3306端口,就会出现你遇到的111错误。请在app.yaml中添加如下配置:
beta_settings:
  cloud_sql_instances: "asim800:us-central1:django-mysql-1"

如果需要同时连接多个实例,用英文逗号分隔即可。

  • 核对服务账号权限:进入GCP IAM控制台,确认App Engine默认服务账号(格式为[你的项目ID]@appspot.gserviceaccount.com)已被授予Cloud SQL Client角色,缺少该权限会导致socket连接被拒绝。
  • 确认驱动依赖正确:确认你的requirements.txt中包含正确的MySQL驱动,推荐使用mysqlclient>=2.1.0,如果使用PyMySQL需要额外的兼容配置,可能会导致路径识别异常,优先使用官方的mysqlclient驱动。
  • 本地连接名报错说明:本地使用/cloudsql/前缀的连接名连接失败是正常现象,本地环境没有GAE的自动挂载机制,要在本地用连接名访问Cloud SQL,需要手动启动Cloud SQL Auth Proxy工具创建对应socket路径后才能连接,本地测试直接使用公网IP即可,不需要纠结该报错。
  • 公网IP连接超时说明:GAE标准环境的出站公网IP为动态池,你没有将GAE的全量出站IP段添加到Cloud SQL的公网访问白名单中,自然会出现连接超时,标准环境优先推荐使用Unix socket方式连接,不需要配置白名单,安全性和性能都更优。
  • PostgreSQL故障适配:你提到PostgreSQL也出现相同故障,以上排查步骤完全适用,PostgreSQL连接Cloud SQL同样需要配置app.yaml的cloud_sql_instances,权限要求也完全一致。

内容的提问来源于stack exchange,提问作者Asim Ahmed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:09:01