gpt4 book ai didi

mysql - 远程连接到 Google Compute Engine VM 上的 MySQL

转载 作者:行者123 更新时间:2023-11-29 02:46:00 25 4
gpt4 key购买 nike

我的问题类似于this question但由于我没有足够的声誉来写评论并且该问题的答案没有帮助,我开始提出一个新问题。

我有一个带有 LEMP 和 MySQL Ver 15.1 Distrib 10.1.18-MariaDB 的 GCE VM 实例,我正在尝试从我的本地机器远程连接到它。

我已经尝试了我之前提到的问题链接中的所有建议。

这是我的防火墙配置:

enter image description here

在 my.cnf 文件中我有:

bind-address = 0.0.0.0

关于 MySQL 用户权限,我有以下内容:

enter image description here enter image description here

当我尝试与 wkreport 用户远程连接时,我得到以下结果:

enter image description here

我的问题是,我错过了什么?!

最佳答案

我刚刚找到了解决问题的方法,

特别感谢@Slava 为我指明了方向,毕竟它是 iptables。

因此,我在尝试远程连接时不断收到“MySQL 连接被拒绝”消息,因此我搜索了一种查看 TCP 连接日志的方法,并找到了 tcpdump 命令。

通过运行 sudo tcpdump port 3306 -vvv -n 我每次尝试远程连接时都会看到以下输出:

enter image description here

我搜索了 tcpdump 手册页,发现 R 表示 TCP RST (RESET) 标志。

搜索了一下,找到了这个 question它被接受的答案让我再次进入@Slava 自第一条评论以来建议的 IPTABLES。

那时我仔细观察,发现我的 INPUT ACCEPT tcp:3306 是在 REJECT TCP reject-with tcp-reset 规则之后定义的,因此显示了日志。

enter image description here

在此之后,我删除了接受 tcp:3306 的规则并将其添加到拒绝 tcp 规则之前,瞧!

iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -I INPUT {line number from the first reject tcp rule} -p tcp -m tcp --dport 3306 -j ACCEPT

IPTABLES 现在看起来像这样,最后我可以远程连接到 MySQL: enter image description here

使用行号类型列出 iptables:

sudo iptables -nL --line-numbers

最后的挑战:

  • 出于安全考虑,可以通过将您进行远程连接的源 IP 地址列入白名单来改善这一点。

关于mysql - 远程连接到 Google Compute Engine VM 上的 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42117446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com