在'读取初始通信数据包时失去与MySQL服务器的连接,系统错误:在Windows机器上为0

时间:2014-07-30 18:24:54

标签: java mysql mysql-workbench

我发现了类似的问题,但没有一个人帮我使用Windows机器。

我能够通过本地计算机连接到mySQL。但是,我已将MySQL放在远程计算机上,当我尝试连接它时,出现以下错误:

在读取初始通信数据包时失去与MySQL服务器的连接',系统错误:0

我正在使用SQL workbench进行连接。我使用远程机器的主机名的实际名称并使用端口139.我已经在远程机器上启动了MySQL作为服务。当谷歌搜索错误时,我得到了很多关于在/etc/hosts.allow和my.cnf以及诸如此类的文件中编辑文件的爵士乐。但是,这些位置是为linux机器指定的。我的本地和远程机器都有一台Windows 7机器,因此没有这些位置。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

我不会假装我知道造成这个问题的原因,但可能是:

1.您需要添加

AllowTcpForwarding yes

到这个文件:/ etc / ssh / sshd_config。显然,因为你在Windows上,你需要找到它的等价物,因为它是一个linux文件路径。

2.它可能是你的防火墙。尝试暂时禁用它(如果这样做是安全的)并查看它是否有效。如果是这种情况,您将需要通过防火墙授予MySQL访问权限。

3.尝试写作

mysqld: ALL: allow

在文件/etc/hosts.allow中,因为你在Windows上,你需要找到它的等价物,因为那是一个linux文件路径。现在,在某种程度上,这可能是一个安全问题,但是当你没有正在运行的服务器时,谁会关心安全问题?

4.现在最后一次检查/etc/hosts.deny你的IP可能会在那里拒绝你访问你的服务器。

答案 1 :(得分:0)

想出来。 '根'指向本地计算机的根目录,远程计算机上的root用户指向自己。所以我让它连接到管理员用户,它连接正常,没有错误。感谢您的回复和帮助。