温馨提示×

centos mysql如何设置防火墙规则

小樊
43
2025-09-28 09:14:35
栏目: 云计算

在CentOS系统中,您可以使用firewall-cmd命令来设置防火墙规则,以允许MySQL服务通过防火墙。以下是具体步骤:

1. 检查防火墙状态

首先,确保防火墙正在运行:

sudo systemctl status firewalld

如果防火墙未运行,可以启动它:

sudo systemctl start firewalld

2. 允许MySQL端口(默认3306)

使用firewall-cmd命令添加一个端口规则,允许MySQL服务通过防火墙:

sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
  • --permanent:使规则永久生效。
  • --zone=public:指定防火墙区域为公共区域。
  • --add-port=3306/tcp:添加TCP端口3306。

3. 重新加载防火墙配置

应用新的防火墙规则:

sudo firewall-cmd --reload

4. 验证规则是否生效

检查防火墙规则是否已成功添加:

sudo firewall-cmd --list-all

在输出中查找ports部分,确认3306端口已列出。

5. 允许特定IP访问MySQL(可选)

如果您只想允许特定IP地址访问MySQL,可以使用以下命令:

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept'
  • source address="192.168.1.100":指定允许访问的IP地址。

然后重新加载防火墙配置:

sudo firewall-cmd --reload

6. 检查MySQL配置文件(可选)

确保MySQL配置文件/etc/my.cnf/etc/mysql/my.cnf中的bind-address设置正确,允许来自所需IP地址的连接。例如:

bind-address = 0.0.0.0

这表示MySQL将接受所有IP地址的连接。如果您只想允许本地连接,可以设置为127.0.0.1

7. 重启MySQL服务

最后,重启MySQL服务以应用配置更改:

sudo systemctl restart mysqld

通过以上步骤,您应该能够成功设置CentOS系统中的防火墙规则,允许MySQL服务通过防火墙。

0