在Linux系统中,配置MySQL防火墙规则通常涉及以下几个步骤:
默认情况下,MySQL使用3306端口。你可以通过以下命令确认:
sudo netstat -tuln | grep 3306
或者查看MySQL配置文件(通常是/etc/mysql/my.cnf或/etc/my.cnf)中的port参数。
根据你使用的防火墙工具(如iptables、firewalld、ufw等),配置相应的规则。
iptables# 允许来自特定IP地址的MySQL连接
sudo iptables -A INPUT -p tcp --dport 3306 -s 允许的IP地址 -j ACCEPT
# 允许来自任何IP地址的MySQL连接(不推荐用于生产环境)
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
# 保存iptables规则
sudo iptables-save > /etc/iptables/rules.v4
firewalld# 允许来自特定IP地址的MySQL连接
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="允许的IP地址" port protocol="tcp" port="3306" accept'
# 重新加载firewalld配置
sudo firewall-cmd --reload
# 查看firewalld状态
sudo firewall-cmd --state
ufw# 允许来自特定IP地址的MySQL连接
sudo ufw allow from 允许的IP地址 to any port 3306
# 允许来自任何IP地址的MySQL连接(不推荐用于生产环境)
sudo ufw allow 3306/tcp
# 启用ufw
sudo ufw enable
# 查看ufw状态
sudo ufw status
确保防火墙规则已经生效,并且MySQL服务可以正常接收连接。
iptablessudo iptables -L -v -n | grep 3306
firewalldsudo firewall-cmd --list-all | grep 3306
ufwsudo ufw status numbered | grep 3306
通过以上步骤,你可以有效地配置Linux系统上的MySQL防火墙规则,确保数据库的安全性。