只允许指定 IP 访问 3306 端口,拒绝所有其他 IP,这是最安全的 MySQL 防火墙配置。
一、核心命令(直接用)
1. 允许 单个指定 IP 访问 3306
运行
css
ufw allow from 192.168.1.100 to any port 3306 proto tcp
把 192.168.1.100 换成你允许访问的 IP即可。
2. 拒绝 所有其他 IP 访问 3306
运行
bash
ufw deny 3306/tcp
3. 重载 UFW 使规则生效
运行
ufw reload
二、如果你需要 允许多个 IP
依次执行多条命令:
运行
css
ufw allow from 192.168.1.100 to any port 3306 proto tcp
ufw allow from 112.34.56.78 to any port 3306 proto tcp
ufw deny 3306/tcp
ufw reload
三、检查规则是否生效
运行
lua
ufw status
你会看到类似这样的结果(表示配置成功):
bash
3306/tcp DENY Anywhere
3306/tcp ALLOW 192.168.1.100
四、常用辅助命令
开启 UFW(如果没开)
运行
bash
ufw enable
删除一条错误规则
运行
sql
ufw delete allow from 192.168.1.100 to any port 3306 proto tcp
清空所有 UFW 规则
运行
perl
ufw reset
总结
- 先允许指定 IP →
ufw allow from IP to any port 3306 - 再拒绝所有其他 IP →
ufw deny 3306 - 重载生效 →
ufw reload - 查看状态 →
ufw status
UFW 删除指定 IP 访问 3306 端口
我给你最准确、直接可用的删除命令,一步到位。
1. 直接删除指定 IP 规则(最常用)
把 192.168.1.100 换成你要删除的 IP 即可:
运行
sql
ufw delete allow from 192.168.1.100 to any port 3306 proto tcp
2. 先查看规则编号,再按编号删除(更稳妥)
第一步:查看规则列表
运行
lua
ufw status numbered
你会看到类似:
bash
[ 1] 3306/tcp DENY IN Anywhere
[ 2] 3306/tcp ALLOW IN 192.168.1.100
第二步:按编号删除
比如要删除第 2 条:
运行
arduino
ufw delete 2
3. 删除后重载生效
运行
ufw reload
4. 确认是否删除成功
运行
lua
ufw status
总结
- 直接删 IP :
ufw delete allow from IP to any port 3306 proto tcp - 按编号删 :
ufw status numbered→ufw delete 编号 - 生效 :
ufw reload