我已经花费了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已打开。但是,对于缺少的内容,我没有任何想法。有谁知道要寻找什么或如何解决这个问题?提前非常感谢!
答案 0 :(得分:2)
您还需要设置防火墙d。
安装Firewalld并执行以下操作:
firewall-cmd --zone=public --add-port=3306/tcp \ --permanent
这将确保3306已打开并接受。