

新闻资讯
技术学院MySQL环境搭建无需关闭防火墙,但需开放3306端口并配置bind-address(默认127.0.0.1限制本地访问);远程连接还需授权用户、刷新权限、验证端口连通性及错误日志,并推荐SSH隧道或IP限制等安全措施。
MySQL环境搭建时,不一定必须关闭防火墙,但需要确保防火墙允许MySQL服务的端口(默认3306)通过。直接关闭防火墙存在安全风险,更推荐精准开放端口或配置访问规则。
MySQL安装后默认绑定在 127.0.0.1(即仅本地回环),这意味着即使防火墙开启,外部也无法连接——不是防火墙拦着,而是MySQL自己没对外提供服务。
/etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf)中 bind-address 的值0.0.0.0(所有接口)或指定内网IP,改完需重启MySQL服务0.0.0.0
后,务必配合防火墙和用户权限控制,避免暴露到公网不关防火墙,只放行必要端口,兼顾可用性与安全性:
sudo firewall-cmd --permanent --add-port=3306/tcp,再执行 sudo firewall-cmd --reload
sudo ufw allow 3306/tcp
光开防火墙和改 bind-address 不够,还需确认以下几点:
'user'@'%' 而非 'user'@'localhost'
FLUSH PRIVILEGES; 刷新权限telnet 服务器IP 3306 或 nc -zv IP 3306 测试端口连通性/var/log/mysql/error.log 或 SHOW VARIABLES LIKE 'log_error';)是否有拒绝连接记录生产环境中强烈不建议关闭防火墙,也不建议将MySQL直接暴露在公网上。如需远程管理,推荐:
'admin'@'192.168.1.%')