我已经在Google虚拟机(debian )上安装了MySQL。我想要做的是公开访问(显然使用用户名/密码)。
据我所知,从外部世界可以看到服务器,就像我可以平IP并获得结果一样,我认为我已经正确设置了一个用户,并给出了适当的权限,这样我就可以登录。
关于信息,我在GCP上的防火墙设置看起来如下(这只是出口,有一个完全相同的入口):

我假设它是正确的,让正确的端口打开?
当我使用MySQL工作台时,我遇到的问题是,当我尝试创建一个新连接时,它会给我以下错误:
在我的ip地址:3306处,用户“用户名”连接到MySQL服务器的尝试失败:
无法连接到本地主机
请:
1检查MySQL是否运行在我的ip地址上
2检查端口3306上是否可以到达MySQL (注意: 3306是默认的,但可以更改)
3检查用户名是否有权从您的地址连接到我的ip地址(MySQL权限定义客户端可以连接到服务器以及从哪台机器)
4确保您在需要时提供密码,并为我的ip地址使用正确的密码,从您从**连接的主机地址连接。
任何指针都会被感激地接受。
更新:真正让我困惑的是“无法连接到本地主机”错误。我不是想连接本地主机.?
更新2:根据注释,以下命令的结果:


注意,我正在尝试使用matprichardson用户名进行连接。svc2toria用户指向我自己的IP地址。
发布于 2022-01-12 01:40:40
Mat,如果您想使用您的MySQL工作台使用Google实例数据库。我建议你通过SSH隧道连接到它。所以这个问题不会发生。我也碰到过几次这个问题。通过SSH连接完成了工作。

但是如果你的需要是其他的,这对你一点帮助都没有。如果您的唯一目的是使用MySQL工作台从本地计算机管理数据库。这个会很好的。在Debian中创建一个用户。向公众开放22号港口。此外,在通过SSH进行连接时,请确保具有强凭据或更好的密钥文件。此方法适用于每个云VM数据库。我正在为、Azure和AWS使用这种方法。在你所有的工作都完成之后。关闭端口22 (SSH)。
发布于 2022-01-11 22:48:21
我最好的猜测是因为第二条。“检查端口3306上是否可以到达MySQL (注意: 3306是默认的,但可以更改)”。
您的虚拟机将具有网络安全控制/防火墙,默认情况下它将阻塞端口3306。
我不使用谷歌云,但我相信你正在寻找“网络细节”->“防火墙规则”。
发布于 2022-01-12 00:54:17
你改变你的mysqld.cnf了吗?
bind-address = 0.0.0.0https://stackoverflow.com/questions/70674302
复制相似问题