远程服务器中telnet MySQL数据库3306端口无法连接——telnet IP地址 3306提示无法打开到主机的连接在端口3306失败

解决telnet xx.xx.xx.xx.xx(IP地址) 3306无法访问远程服务器的MySQL数据库问题

1. 网络连接问题

  • 查看是否能ping通:首先尝试 ping 10.5.103.110 看是否能够连接到该服务器。如果 ping 不通,一般是网络问题,需要保证可以正常访问到远程服务器,比如网络接线、访问权限等。如果可以ping 通目标服务器,那么可以排除网络不可达的问题。接下来可以尝试以下步骤来进一步诊断 telnet 无法连接到 MySQL 的问题:

2. MySQL 配置文件问题

  • 绑定 IP 问题:MySQL 的配置文件 (my.cnfmy.ini) 中可能设置了 bind-address,导致 MySQL 仅监听本地连接。如果 MySQL 的 bind-address 设置为 127.0.0.1localhost,则它不会监听外部 IP 地址的连接。
    解决方法:修改 MySQL 配置文件,将 bind-address 设置为 0.0.0.0 或者指定你的服务器 IP 地址,0.0.0.0表示所有IP地址都可以访问。

    vim /etc/my.cnf
    

    在里面看是否有bind-addres,如果有改成以下内容,没有的话按i键手动新增一条,注意在[mysqld]下面新建。

    bind-address = 0.0.0.0
    

    添加完成后按esc键后,继续输入:wq保存退出。
    随后重启 MySQL 服务:

    sudo systemctl restart mysql
    

3. 检查防火墙规则

虽然服务器可以 ping 通,但防火墙规则可能阻止了 3306 端口的访问。可以在服务器上检查防火墙是否允许 3306 端口的流量:

  • Ubuntu/Debian:

    sudo ufw status
    
  • CentOS/RedHat/OpenEuler:

    sudo firewall-cmd --list-all
    

如果发现结果中没有3306端口,使用以下命令允许 3306 端口:

  • Ubuntu/Debian:

    sudo ufw allow 3306/tcp
    
  • CentOS/RedHat/OpenEuler:

    sudo firewall-cmd --add-port=3306/tcp --permanent
    sudo firewall-cmd --reload
    

4. 确认 MySQL 服务正在运行

最后,确认 MySQL 服务正在运行。如果 MySQL 服务未运行,自然无法建立连接。确保 MySQL 服务正常运行并监听 3306 端口。你可以通过以下命令检查:

sudo netstat -tuln | grep 3306
sudo systemctl status mysql

如果服务没有运行,使用以下命令启动:

sudo systemctl start mysql

通过上述步骤,你应该可以逐步排查 telnet 连接问题。如果还有问题,请提供进一步的日志或错误信息,以便继续诊断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值