我正在尝试使用 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 上的样子:
任何人都可以帮我解决这个问题吗?我花了几个小时没有成功
您是否尝试过 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