我发现了类似的问题,但没有一个人帮我使用Windows机器。
我能够通过本地计算机连接到mySQL。但是,我已将MySQL放在远程计算机上,当我尝试连接它时,出现以下错误:
在读取初始通信数据包时失去与MySQL服务器的连接',系统错误:0
我正在使用SQL workbench进行连接。我使用远程机器的主机名的实际名称并使用端口139.我已经在远程机器上启动了MySQL作为服务。当谷歌搜索错误时,我得到了很多关于在/etc/hosts.allow和my.cnf以及诸如此类的文件中编辑文件的爵士乐。但是,这些位置是为linux机器指定的。我的本地和远程机器都有一台Windows 7机器,因此没有这些位置。
非常感谢任何帮助。
答案 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用户指向自己。所以我让它连接到管理员用户,它连接正常,没有错误。感谢您的回复和帮助。