0

我希望你一切都好。

我不想使用私有连接将 Google Datastream 与托管在 Cloud SQL 中的 MySQL 数据库连接起来。

我已使用公共 IP 通过公共互联网连接,但我需要通过 VPC 对等连接以确保安全,文档表明应执行以下操作:https ://cloud.google.com/datastream/docs/private-connectivity

我一直在尝试跨 Cloud SQL Auth Proxy 进行连接,请遵循此文档,并且我已经将代理连接到 Cloud SQL:https ://cloud.google.com/sql/docs/mysql/connect-admin-proxy#tcp-sockets

在每种情况下,我都会看到相同的错误,无论配置什么 ip,它总是会更改为另一个 ip。

例如,下图显示了设置 Cloud SQL Auth 代理内部 IP 10.128.0.2 的 perfil 配置。

Perfil 配置

而且,当我尝试测试时,我发现 MySQL IP 更改为 192.168.5.236 连接错误

4

2 回答 2

2

一般来说,这是一个 MySQL 客户端错误代码。此错误的可能原因是:

  • MySQL 服务器未运行,或

  • Windows 服务器上的防火墙配置阻止对端口 3306 的访问

=> 要解决给定的错误消息,请按照以下步骤操作:

  1. 验证 MySQL 服务器是否正在运行并使用 ping 命令检查客户端-服务器连接。例如:ping server_ip_address

  2. 要使用私有 IP 连接到 Cloud SQL 实例,Cloud SQL 身份验证代理必须位于可以访问与实例相同的 VPC 网络的资源上。[1]

  3. 当您启动 Cloud SQL Auth 代理时,为确保它使用私有 IP,请确保传递标志:

 -ip_address_types=PRIVATE

  1. 此外,验证防火墙配置并确保端口 3306 未被阻止。

  2. 您还可以查看 mysql 配置文件 [2] 并检查是否有与之相关的绑定地址。如果有绑定地址,请使用 # 字符将其注释掉。

[1] https://cloud.google.com/sql/docs/mysql/connect-admin-proxy#private-ip

[2]如何找到 MySQL my.cnf 的位置

于 2021-11-10T00:41:45.107 回答
0

就我而言,我将 Cloud SLQL 代理安装在计算引擎中,并将 Mysql 安装在 Cloud SQL 中。

解决方案如下:

我需要创建一个入口防火墙规则,允许从 Datastream Private Connection(我需要通过私有连接连接 Datastream 以进行治理)到 tcp:3306 中的 Cloud SQL Auth Proxy IP Range 的 IP 范围。

您可以通过Connectivity Tests测试您的连接

于 2021-11-11T15:16:52.420 回答