CentOS系统的防火墙中开放3306端口以允许MySQL连接(2003 -Can‘t connect to MySQL server on (10038))

连接mysql时候报错2003 -Can't connect to MySQL server on (10038)

原因:centos对敏感端口进行了防火墙阻隔,需要手动将3306端口打开

要在CentOS系统的防火墙中开放3306端口以允许MySQL连接,你需要使用`firewall-cmd`,这是`firewalld`服务的命令行界面。以下是开放3306端口的步骤:

  1. 开启端口:

    sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp

这个命令会将3306端口添加到防火墙规则中,并且`--permanent`标志意味着更改是永久性的。

  1. 重新加载防火墙规则:

    sudo firewall-cmd --reload

重新加载防火墙规则以应用更改。

  1. 检查端口是否开放:

    sudo firewall-cmd --list-ports

这个命令会列出所有开放的端口,你应该能在列表中看到3306/tcp。

如果你的系统正在使用`iptables`而不是`firewalld`,你需要使用`iptables`命令来开放3306端口。以下是使用`iptables`开放端口的方法:

  1. 开启端口:

    sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

  2. **保存防火墙规则**:

不同的系统可能有不同的方法来保存iptables规则。CentOS 7或更高版本可能需要你安装`iptables-services`包以保持这些规则持久化。

复制代码
sudo service iptables save

确保你在正确的防火墙软件上执行相应的命令。如果你不确定你的系统使用的是`firewalld`还是`iptables`,你可以通过检查它们的状态来确定:

复制代码
sudo systemctl status firewalld

或者

复制代码
sudo systemctl status iptables

另外,请确保你有足够的权限来执行这些命令,如果需要,请使用`sudo`来获得超级用户权限。在开启端口之后,确保你的MySQL配置(如`bind-address`)允许远程连接(不是仅仅绑定到127.0.0.1或localhost),并且用户权限正确设置来允许远程访问。

相关推荐
源代码•宸5 小时前
MySQL 索引:索引为什么使用 B+树?(详解B树、B+树)
数据结构·数据库·经验分享·b树·mysql·b+树·b-树
睡觉的时候不会困5 小时前
MySQL 数据库表操作与查询实战案例
数据库·mysql
朱小弟cs67 小时前
Orange的运维学习日记--41.Ansible基础入门
linux·运维·学习·ci/cd·自动化·ansible·devops
CIb0la7 小时前
kali linux 2025.2安装WPS并设置无报错的详细步骤
linux·运维·wps
醉方休8 小时前
Node.js 精选:50 款文件处理与开发环境工具库
linux·运维·node.js
zuozewei9 小时前
MySQL高可用改造之数据库开发规范(大事务与数据一致性篇)
数据库·mysql·数据库开发
代码老y10 小时前
从裸机到云原生:Linux 操作系统实战进阶的“四维跃迁”
linux·运维·云原生
菜菜子爱学习10 小时前
Nginx学习笔记(二)——环境准备(VMware CentOS版)
笔记·学习·nginx·centos·运维开发
CMCST10 小时前
CentOS 7.9 升级 GLibc 2.34
linux·运维·centos
xiep143833351010 小时前
Rocky Linux 10 部署 Kafka 集群
linux·运维·kafka