由于我的项目性质,我需要3306
在运行 CentOS 6 的云服务器上打开端口。使用此站点:http://www.yougetsignal.com/tools/open-ports/我可以看到端口是否打开。端口似乎已关闭,因此任何远程连接尝试都会失败。我已经尝试通过以下方式3306
打开它:iptables
iptables -I INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
iptables -I FORWARD -i eth0 -p tcp --destination-port 3306 -j ACCEPT
命令iptables -L
返回以下内容:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
命令netstat -tlnp
返回以下内容:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2694/mysqld
所以我假设守护进程正在通过该端口监听。我必须提到,在尝试此操作之前,我MySQL
从yum
存储库安装,然后从 更新它remi-repo
,然后再次通过 更新到最新版本MySQL official repository
,也许这会弄乱什么?命令mysql upgrade
运行顺利,但我可能遗漏了一些东西。也许是服务提供商的问题?我遗漏了什么吗?提前致谢。
编辑mysqld状态停止正常吗:
# service mysqld start
Starting mysqld: [ OK ]
# service mysqld status
mysqld is stopped
答案1
您的主机没有活动防火墙来阻止任何连接,因此您添加的 iptables 规则实际上不起作用。您的系统无论如何都会接受所有连接。
如果您的连接受到防火墙保护,则防火墙位于服务器之外(例如 Amazon EC2 安全组、GCE 防火墙等)。