openEuler服务器安装mysql数据库本地ssh隧道连接异常 2013 - Lost connection to server at “handshake: reading initial co

异常错误信息

2013-在“握手:读取初始通信数据包”时丢失了与服务器的连接,系统错误:

可能存在的问题

MySQL服务器配置问题

 服务器防火墙端口是否打开:检查是否已打开3306端口或者3306是否已被占用

防火墙/SELinux:确保SSH服务器上的防火墙规则允许从SSH服务器到MySQL数据库的本地连接(通常是localhost:3306)。同时,如果使用SELinux,确保相关的安全策略没有阻止连接。   

MySQL绑定地址:检查MySQL配置(my.cnf)中bind-address是否设置为0.0.0.0127.0.0.1,前者允许所有IP连接,后者只允许本地连接。如果SSH服务器和MySQL不在同一台机器上,确保配置允许外部连接。

服务器指令测试数据库连接

 使用mysql -u root -p 输入密码进行登录

如不能登录,则说明数据库本身有问题

可以登录,在mysql检查是否允许root用户从任何远程地址连接

设置允许root用户从任何远程地址连接:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_root_password' WITH GRANT OPTION;

刷新配置:

FLUSH PRIVILEGES;

 本地使cmd使用ssh进行连接检测

 使用 ssh -L local_port:remote_host:remote_port user@ssh_server

其中,local_port是你本地监听的端口,remote_host是MySQL服务器的地址(如果SSH服务器和MySQL在同一台机器上,通常使用localhost或127.0.0.1),remote_port是MySQL的端口(默认3306),user@ssh_server是SSH服务器的登录信息。确保你正确设置了这些参数

检查 SSH 服务器的转发设置

 因为使用的ssh隧道代理出现的问题,需要检查服务器是否允许转发

SSH服务器的配置文件通常位于/etc/ssh/sshd_config。你可以使用文本编辑器(如vinano)打开此文件,并查找与端口转发相关的设置

  1. 允许本地端口转发
    查找AllowTcpForwarding选项。如果设置为yes,则表示允许本地端口转发。如果设置为no,则表示禁止本地端口转发。

  2. 允许远程端口转发
    查找AllowRemoteTcpForwarding选项。同样,如果设置为yes,则表示允许远程端口转发;如果设置为no,则表示禁止远程端口转发。

  3. GatewayPorts
    这个选项用于控制远程端口转发是否允许绑定到非localhost地址。如果设置为yes,远程端口转发可以绑定到任何地址;如果设置为noclientspecified,则只允许绑定到localhost或客户端指定的地址。

在修改SSH服务器配置文件后,你需要重新启动SSH服务以使更改生效。这通常可以通过运行sudo systemctl restart sshd命令来完成 

 总结:

本次部署遇到的问题,记录一下排查的思路和解决方案 最终发现未设置端口转发

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值