mysql无法连接,服务器开放了3306端口还是无法连接

换了个新的云服务器,配置好环境之后发现新服务器上的数据库没法连接上,用的是同一个安全组规则,端口也开放了。
发现是服务器防火墙阻止了3306端口的连接。
输入命令查看是否有开启3306端口

firewall-cmd --list-ports

没开启的话开启3306端口 然后重载规则

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

firewall-cmd --reload

mysql连接成功

我自己的服务器用的宝塔管理 在安全->系统防火墙添加3306端口就可以连接了
在这里插入图片描述

### 如何在宝塔面板中设置端口转发 #### 一、通过防火墙配置端口转发 可以通过 `firewall-cmd` 命令来实现端口转发功能。以下是具体的命令说明: 开启伪装 IP 的命令可以确保流量能够正常回传给客户端设备[^2]: ```bash firewall-cmd --permanent --add-masquerade ``` 配置端口转发的具体命令如下所示,该命令表示将外部访问的指定端口(如 3306)映射到内部另一台服务器上的目标端口(如 13306),并指定了协议类型为 TCP 协议[^2]: ```bash firewall-cmd --permanent --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=13306 ``` 执行以上两条命令之后,需重新加载防火墙规则以使更改生效: ```bash firewall-cmd --reload ``` #### 二、利用 Nginx 实现更灵活的端口转发 如果希望通过 Web 层面完成更加复杂的请求处理逻辑,则可以在宝塔面板中的站点配置文件里加入自定义 NGINX 配置项[^3]。 例如,在某个特定路径下的所有请求都希望被代理至另外一台机器或者同一台机器的不同服务实例时,可按照下面的方式编写规则[^3]: ```nginx location ^~ /api/ { proxy_pass http://localhost:8080; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } ``` 上述代码片段的作用是当用户访问 `/api/*` 路径下资源时,Nginx 将会把这些请求转交给运行于本机地址监听 8080 端口的服务去响应客户请求。 #### 三、安装与初始化宝塔环境 对于初次使用者来说,还需要先完成宝塔面板本身的安装工作。这一步骤通常只需要一条简单的 Shell 脚本来搞定整个过程即可[^4]: ```bash yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值