本地MySQL Workbench连接Cloud SQL MySQL:测试成功但无法连接数据库服务器
问题排查与解决方案
1. 优先验证办公公网IP是否发生变更
- 多数此类问题根源为办公网络出口公网IP动态变更,此前添加的白名单IP已失效。可访问IP查询工具获取当前真实出口IP,与Cloud SQL白名单内配置的IP做比对。
- 注意:如果办公网络使用多出口IP、VPN动态切换线路,需要将所有可能的出口IP全部加入白名单。
2. 检查Cloud SQL实例的公网访问配置
- 确认实例未关闭公网访问入口,可在Cloud SQL控制台「连接」页签的「网络」分类下查看公网IP状态是否为已启用。
- 检查是否存在误操作开启了「仅允许SSL连接」配置:如果开启该选项但MySQL Workbench连接时未配置SSL证书,就会出现握手阶段连接测试通过、后续认证阶段报错的情况。
- 如需临时验证,可先关闭「仅允许SSL连接」后重试连接,确认是该问题后再重新为Workbench配置客户端SSL证书即可。
3. 验证MySQL Workbench连接参数配置
- 确认连接使用的用户名、密码、端口(默认3306)配置正确,且该数据库用户允许从你的办公IP登录:可通过Cloud SQL代理连接到数据库后执行
SELECT host FROM mysql.user WHERE user = '你的用户名';查看用户允许的登录host。 - 若返回值为
127.0.0.1或者特定IP而非%或者你的办公IP,需要修改用户权限:GRANT ALL PRIVILEGES ON 你的库名.* TO '用户名'@'你的办公IP'; FLUSH PRIVILEGES;
4. 排查GCP侧VPC/防火墙规则冲突
- 虽然新增GKE节点池理论上不会影响Cloud SQL公网访问,但如果你的GCP项目内有全局防火墙规则、组织策略限制了Cloud SQL的公网访问来源IP段,可在VPC防火墙控制台检查是否存在优先级更高的拦截规则。
- 同时检查Cloud SQL实例是否配置了VPC网络对等、私有服务访问等配置,是否存在路由冲突导致公网访问流量被拦截。
内容的提问来源于stack exchange,提问作者nazmul91
相关产品推荐
相关产品推荐

