无法通过3306端口连接到远程MYSQL服务器

时间:2020-07-02 06:34:14

标签: mysql linux

我已经花费了6个多小时来尝试解决此问题。安装mysql服务器后,我显然将绑定地址从127.0.0.1更改为0.0.0.0。我也尝试将其注释掉。当我使用Nmap检查开放端口状态时,它显示如下:

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000011s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
23/tcp   open  telnet
3306/tcp open  mysql

因此3306端口肯定是开放的。但是,当我尝试从另一台计算机连接服务器时,它显示:

ERROR 2003 (HY000): Can't connect to MySQL server on '49.247.XXX.XXX' (61)

所以我用telnet进行了检查,结果是:

telnet: connect to address 49.247.XXX.XXX: Connection refused
telnet: Unable to connect to remote host

所以我回到那台服务器上,再次用netstat检查状态,结果如下:

❯ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      769/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      994/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      994/sshd
tcp6       0      0 :::23                   :::*                    LISTEN      3355/xinetd
tcp6       0      0 :::3306                 :::*                    LISTEN      4108/mysqld

我找到了号码3306,所以必须打开吗?我什至尝试了“ sudo ufw allow XXXX / tcp”命令来确保3306已打开。但是,对于缺少的内容,我没有任何想法。有谁知道要寻找什么或如何解决这个问题?提前非常感谢!

1 个答案:

答案 0 :(得分:2)

您还需要设置防火墙d。

安装Firewalld并执行以下操作:

 firewall-cmd --zone=public --add-port=3306/tcp \ --permanent

这将确保3306已打开并接受。