通过 SSH 连接到 MariaDB 失败,出现错误 2013 - 在“读取初始通信包”时与 MySQL 服务器失去连接

通过 SSH 连接到 MariaDB 失败,出现错误 2013 - 在“读取初始通信包”时与 MySQL 服务器失去连接

我尝试使用 Windows 中的 Navicat Premium 通过 SSH 连接到远程 MariaDB 服务器,但始终无法连接并出现此错误:

2013 - 在“读取初始通信包”时与 MySQL 服务器失去连接,系统错误:0

我已经阅读并遵循了互联网上的许多指南,所以我现在很迷茫,不知道还能做什么。这是我所做的:

在服务器端(远程主机装有 CentOS 6.6 和 mysql Ver 15.1 Distrib 5.5.44-MariaDB,对于 Linux(x86_64),使用 readline 5.1):

  • /etc/my.cnf.d/server.cnf设置此参数:

    [mysqld]
    #skip-networking
    
    #tried with this
    bind-address = 0.0.0.0
    
    #tried with this
    bind-address = 127.0.0.1
    
    #tried with this
    bind-address = localhost
    

    结果:没有成功,同样的错误,无法连接

  • /etc/hosts.allow设置此参数:

    # tried with this
    #ALL:ALL
    # tried with this
    ALL:PARANOID
    # tried with this
    ALL:MY_IP_ADDR
    

    结果:没有成功,同样的错误,无法连接

  • /etc/ssh/sshd_config允许 TCP 转发的设置参数:

    AllowTcpForwarding 是

    结果:没有成功,同样的错误,无法连接

服务器已启用 IPTABLES,但端口 3306 已打开:

#MySQL/MariaDB
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

Navicat 上的配置如下:

在此处输入图片描述 在此处输入图片描述

有人能帮我吗?我花了好几个小时却没成功

答案1

您是否尝试在应用程序的“常规”选项卡上将 127.0.0.1 作为主机名?

很难确切地说出该应用程序正在尝试做什么(远程/本地/动态隧道)


我必须做一些类似的事情才能访问我们使用的远程 Oracle 数据库...我可以访问 Linux 工作站或 cygwin。

我不太熟悉你使用的软件...但是当我必须从其他我使用 PuTTY 的机器。谷歌搜索(PuTTY 本地 ssh 隧道)将提供以下说明的结果: http://howto.ccs.neu.edu/howto/windows/ssh-port-tunneling-with-putty/

将本地端口设置为您想要的任何端口(为了清楚起见,我只会使用 3306),并将目的地设置为 yoursever:3306。然后使用您想要连接到 127.0.0.1:3306 的任何 SQL 客户端。

/etc/my.cnf

[mysqld]
bind_addess = 127.0.0.1

iptables -A INPUT -i lo -j ACCEPT
#should be the only firewall statement you need assuming ssh is open..

相关内容