连接Google Cloud SQL数据库时遇ETIMEDOUT/ENOENT错误求助
Google Cloud SQL 连接错误排查方案
1. 「connect ETIMEDOUT」错误(IP连接方式)
- 检查云SQL实例的授权网络设置:你本地机器的公网IP必须添加到实例的「授权网络」列表里,否则外部请求会被拦截导致超时。
- 核对连接参数:确认
host填的是实例的公网IP,port默认是3306,如果实例修改过端口要对应调整。 - 排查本地网络:检查本地防火墙、代理是否阻止了3306端口的出站请求。
2. 「connect ENOENT」错误(套接字连接方式)
- 确认部署环境:
/cloudsql/路径仅能在Google Cloud内部服务(Cloud Run、GCE、App Engine等)中访问,本地开发环境无法使用该套接字。 - 核对套接字路径格式:正确路径应为
/cloudsql/项目ID:区域:实例ID,比如/cloudsql/my-project:us-central1:my-sql-instance,不能只填实例ID。 - 检查GCP配置:确保已启用Cloud SQL Admin API,且给运行应用的服务账号分配了「Cloud SQL Client」角色。
- 换用官方适配库:若使用普通
mysql包,建议换成@google-cloud/mysql,它对GCP套接字连接的支持更完善。
内容的提问来源于stack exchange,提问作者CodingRookie
相关产品推荐
相关产品推荐

