centos7 查看防火墙开放3306端口

在 CentOS 7 中,系统默认使用 firewalld 作为防火墙管理系统。要查看防火墙是否开放了特定端口(如 MySQL 的 3306 端口),您可以按照以下步骤操作:

1. 查看当前防火墙规则

首先,您可以查看当前防火墙的规则,确认是否已经有 3306 端口被开放:

sudo firewall-cmd --list-all

这条命令会列出当前所有已配置的防火墙规则,包括开放的端口和服务。

2. 检查特定端口

如果您只想检查特定端口(例如 3306 端口)是否被开放,可以使用以下命令:

sudo firewall-cmd --query-port=3306/tcp

如果返回 yes,则表示端口已被开放;如果返回 no,则表示端口未被开放。

3. 检查永久规则

如果想检查永久规则(即使系统重启后仍然生效的规则),可以使用以下命令:

sudo firewall-cmd --permanent --query-port=3306/tcp

这条命令会检查是否永久性地开放了 3306 端口。

4. 检查配置文件

如果您想查看更详细的配置信息,可以查看 firewalld 的配置文件:

cat /etc/firewalld/zones/public.xml

public.xml 文件中,您可以找到有关开放端口和规则的具体配置。

5. 确认端口监听

除了检查防火墙配置外,您还可以确认 MySQL 服务是否正在监听 3306 端口:

sudo netstat -tuln | grep 3306

这条命令会显示所有监听中的 TCP 端口,并查找是否有 3306 端口被监听。

6. 检查 MySQL 配置

确保 MySQL 的配置文件(通常是 /etc/my.cnf/etc/mysql/my.cnf)中的 bind-address 参数设置正确,允许远程访问:

[mysqld]
bind-address = 0.0.0.0

如果 bind-address 设置为 127.0.0.1,则 MySQL 只监听本地连接,远程客户端将无法连接。

总结

通过以上步骤,您可以检查 CentOS 7 上的防火墙是否开放了 MySQL 的 3306 端口,并确保 MySQL 服务正确配置以允许远程连接。如果发现端口未开放,您可以使用 firewall-cmd 命令临时或永久性地开放端口:

sudo firewall-cmd --add-port=3306/tcp
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo systemctl restart firewalld

这些命令将帮助您开放 3306 端口,并确保规则在系统重启后仍然有效。

猜你喜欢

转载自blog.csdn.net/qq_43071699/article/details/143403292