技术文摘
Linux 环境中解决 MySQL 连接被防火墙阻挡的办法
在 Linux 环境下使用 MySQL 时,经常会遇到连接被防火墙阻挡的问题,这给数据库的正常使用带来诸多不便。不过,掌握一些有效的解决办法,就能轻松应对这一状况。
我们需要了解防火墙的工作机制。在 Linux 系统中,常见的防火墙有 iptables 和 firewalld。iptables 是一款老牌的防火墙工具,通过一系列规则来控制网络流量的进出;firewalld 则是 CentOS 7 及以上版本中默认的动态防火墙管理工具,它提供了更灵活的配置方式。
对于 iptables 防火墙,要解决 MySQL 连接被阻挡的问题,可以手动添加允许 MySQL 连接的规则。MySQL 默认使用 3306 端口进行通信,因此我们需要在 iptables 中开放该端口。使用 root 用户登录系统后,通过命令“iptables -A INPUT -p tcp --dport 3306 -j ACCEPT”即可添加一条允许 TCP 协议访问 3306 端口的规则。添加完成后,保存规则,防止系统重启后规则丢失。不同的 Linux 发行版保存规则的命令可能有所不同,例如在 CentOS 中,可以使用“service iptables save”命令。
若是使用 firewalld 防火墙,操作相对更加直观。我们可以通过命令行工具或者图形化界面来配置。在命令行中,使用“firewall-cmd --zone=public --add-port=3306/tcp --permanent”命令,该命令会在公共区域开放 3306 端口,并设置为永久生效。执行完此命令后,需要重新加载防火墙配置,让新规则生效,使用“firewall-cmd --reload”命令即可。
除了开放端口,还需要确保 MySQL 服务绑定的 IP 地址是正确的。有时候,MySQL 可能默认只绑定了本地回环地址 127.0.0.1,这会导致外部无法连接。编辑 MySQL 的配置文件(通常是 my.cnf 或 my.ini),将“bind-address”参数设置为服务器的实际 IP 地址或者设置为 0.0.0.0 以允许所有 IP 地址访问。
通过上述方法,我们可以在 Linux 环境中有效解决 MySQL 连接被防火墙阻挡的问题,确保数据库能够稳定、顺畅地运行。
- 13 个能让程序员工作效率提升 10 倍的 VSCode 插件
- 这 6 点知识助我深入理解 JavaScript 对象
- 8 月 Github 热门 JavaScript 开源项目排行
- 马云:格局决定成就,提升自身格局之法你可知?
- Python 打造自动化机器人 整治微信群广告乱象
- Python 机器学习实用指南
- 腾讯智慧零售数字增长峰会:私域生态与增长格局新篇
- 腾讯全球数字生态大会微信专场:微信搜一搜凭三大能力驱动流量增长
- Python 散点图的惊艳之美
- VSCode 开发 Go 程序的强大程度可媲美 GoLand
- 腾讯 WeCity2.0 在全国多地布局后将聚焦经济社会全面数字化
- 你真的懂计算机世界里的“堆栈”吗?
- 技术干货:JVM 架构与 GC 命令详尽梳理,值得收藏
- 他们为运行十年前代码翻出 1977 年的 Apple II
- Java 老师:程序员小白易犯错误与规避方法