在 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 端口,并确保规则在系统重启后仍然有效。
标签:--,端口,防火墙,centos7,MySQL,3306,开放 From: https://blog.csdn.net/qq_43071699/article/details/143403292