远程连接无法打开3306端口

Can't open port 3306 for remote connection

我知道有人问过这个问题,但他们都说了同样的话,我已经尝试过但失败了。

基本上使用这个网站:http://www.yougetsignal.com/tools/open-ports/ 我可以看到我的 3306 端口已关闭,尝试让客户端远程连接不起作用。我已将 /etc/mysql/my.cnf 文件更改为注释掉 bind-address 并将其更改为 0.0.0.0 但均无效。

我试过了iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT,但似乎没有任何效果。

我的 iptables 都显示 ACCEPT

-P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306

还有人知道为什么这个端口仍然被封锁吗?

谢谢

附加信息[编辑]

当我尝试使用:mysqli_connect('XX.XX.XX.XXX', "DBUSer", "DBPassword", "DBName", 3306); 它给出了我的错误 PHP Warning: mysqli_connect(): (HY000/2003): Can't connect to MySQL server on 'XX.XX.XX.XX (60)

我也输入了我的服务器: ufw status; Status: inactive

谢谢大家

原来设置服务器的团队需要在他们这边进行更改。他们没有具体说明,但它打开了端口。 (我想这是一个防火墙设置)

我还必须向所有主机授予权限:

GRANT ALL ON *.* to DBUsername@'%' IDENTIFIED BY 'DBPassword';

我一直看到 DBUsername@'xx.xx.xx.xxx' 并且不知道我必须“%”它才能为所有 IP 工作。

谢谢

我有同样的问题,我尝试在端口 3306 的出站规则(在防火墙高级设置中)添加一条新规则。或者您可以配置 Mysql 设置,在设置时勾选方框允许从另一台机器远程。