BigQuery联邦查询连Cloud SQL(MySQL)遇2013错误,是否与us-central1区域相关?
问题排查方案
首先明确:us-central1区域完全支持BigQuery对Cloud SQL MySQL的联邦查询,你的问题与区域支持无关,重点排查以下几个方向:
Cloud SQL实例网络与连接限制
- 验证访问权限:确保Cloud SQL实例的网络配置允许BigQuery访问。如果使用私有IP,需保证BigQuery与Cloud SQL在同一VPC或通过VPC peering连通;如果使用公网IP,要确认BigQuery的出站IP已加入Cloud SQL的授权网络列表(推荐优先使用私有IP,稳定性更高)。
- 检查连接数:查看Cloud SQL控制台的连接数指标,若实例最大连接数已耗尽,会导致连接失败,可适当调整实例的连接数上限。
外部连接配置校验
- 确认连接ID正确性:你使用的
xxx.us-central1.stg-data需与控制台创建的外部连接ID完全匹配,包括项目ID、区域、连接名称的拼写,不能有任何误差。 - 服务账号权限检查:创建外部连接时指定的服务账号必须拥有
roles/cloudsql.client权限,且已正确绑定到目标Cloud SQL实例。
- 确认连接ID正确性:你使用的
查询与MySQL参数调整
- 测试极简查询:先执行
SELECT * FROM EXTERNAL_QUERY("xxx.us-central1.stg-data", "SELECT 1;"),验证基础连通性,排除因device表数据量过大、查询耗时过长导致的连接超时。 - 调整MySQL超时参数:检查Cloud SQL实例的
wait_timeout和interactive_timeout配置,若查询执行时间超过该阈值,MySQL会主动断开连接,可将参数值调整为3600秒以上。
- 测试极简查询:先执行
跨项目配置差异对比
- 对比两个项目的Cloud SQL实例配置:重点检查网络模式、防火墙规则、服务账号权限,找出当前项目与正常项目的差异点。
- 确认API启用状态:检查当前项目的BigQuery API和Cloud SQL API是否已完全启用,避免因API未开通导致的连接异常。
内容的提问来源于stack exchange,提问作者kate_smith
相关产品推荐
相关产品推荐

