Gcloud beta SQL Connect "server closed the connection unexpectedly"



当尝试获取psqlshell(不使用iam用户(时,我收到的是:

> gcloud alpha sql connect pg-instance --database mydb --user myuser --project my-project
Starting Cloud SQL Proxy: [/Users/me/google-cloud-sdk/bin/cloud_sql_proxy -instances my-project:us-central1:pg-instance=tcp:9470 -credential_file /Users/me/.config/gcloud/legacy_credentials/me@me.com/adc.json]]
2022/03/15 14:47:59 Rlimits for file descriptors set to {Current = 8500, Max = 9223372036854775807}
2022/03/15 14:47:59 using credential file for authentication; path="/Users/me/.config/gcloud/legacy_credentials/me@me.com/adc.json"
2022/03/15 14:48:00 Listening on 127.0.0.1:9470 for my-project:us-central1:pg-instance
2022/03/15 14:48:00 Ready for new connections
Connecting to database with SQL user [myuser].Password:
psql: error: connection to server at "127.0.0.1", port 9470 failed: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.

我在使用服务帐户连接到Postgres(Cloud Sql(时收到了相同的错误消息。在我的设置中,我确实在docker容器中运行了cloud_sql_proxy。

为了使它发挥作用,我不得不添加步骤#9中定义的额外配置https://cloud.google.com/sql/docs/sqlserver/connect-docker#connect-客户端

docker run -d 
-v <PATH_TO_KEY_FILE>:/config 
-p 127.0.0.1:5432:5432
gcr.io/cloudsql-docker/gce-proxy:1.33.1 /cloud_sql_proxy 
-instances=<INSTANCE_CONNECTION_NAME>=tcp:0.0.0.0:5432 -credential_file=/config

缺少的位是:端口映射上的主机ip和0.0.0.0:在cloud_sql_proxy命令中

我想指出几点。对我来说,最好的起点是"关于连接选项"页面;概述开始前部分都非常有助于全面了解流程以及如何正确配置用户。但最重要的部分是连接选项,对于消息connection to server at "127.0.0.1",我猜它是一个私有IP,但在开始调试之前,请确保涵盖了这一部分。

在您的情况下,日志显示与服务器的连接出现错误…我使用了包括"诊断问题"链接的"疑难解答"指南来访问"调试连接问题"页面,该页面包含许多关于如何调试任何连接问题的有用信息。

通常,连接问题属于以下三个领域之一:

  • 正在连接-您能够通过网络访问您的实例吗
  • 授权-您是否被授权连接到实例
  • 身份验证-数据库是否接受您的数据库凭据

每一个都可以进一步细分为不同的调查路径。

确定连接方法后,会有不同的问题帮助您了解可能的故障排除路径。

如果使用这些指南无法为您提供解决方案,请确保使用结果、步骤和所遵循的信息更新您的答案,以提供进一步的帮助。这将是一个很好的例子,因为它有相同的日志错误,而另一个问题表明,对于这个特定的日志消息,有一些不同的故障排除路径,此外,它们还为您提供了有用的信息。

相关内容

  • 没有找到相关文章

最新更新