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),并且用户权限正确设置来允许远程访问。

相关推荐
RisunJan11 分钟前
Linux命令-gpasswd命令(管理用户组的重要工具)
linux·运维·服务器
cui_win20 分钟前
MySQL 压测实战:sysbench 从入门到精通
数据库·mysql·压测·sysbench
Selegant23 分钟前
Docker 搭建 MySQL 主从服务实战操作详解
mysql·docker·容器
where happens26 分钟前
centos创建目录并授予权限
linux·运维·服务器·centos
好好学操作系统1 小时前
autodl 保存 数据 跨区
linux·运维·服务器
dbitc1 小时前
WIN11把WSL2移动安装目录
linux·运维·ubuntu·wsl
KingRumn1 小时前
Linux同步机制之信号量
linux·服务器·网络
BullSmall1 小时前
linux 根据端口查看进程
linux·运维·服务器
_F_y1 小时前
Linux:进程间通信
linux
weixin_462446232 小时前
Kali/ubuntu Linux 中彻底删除 Cursor 编辑器(含 dpkg 非空目录警告解决)
linux·ubuntu·cursor