无法连接到mysql服务器(由strato托管)获取错误10060

时间:2018-02-09 20:36:10

标签: php mysql sql sqlconnection navicat

您好我正在尝试连接到由strato托管的MySQL数据库。在他们的网站上我可以创建一个数据库而且我做了。现在我尝试通过NaviCat连接到数据库,但我一直收到错误10060.

strato网站的屏幕截图:screenshot strato webportal

我尝试在NaviCat中连接数据库的屏幕截图:screenshot NaviCat

最后但并非最不重要的是,他们网站的屏幕截图以及如何连接到数据库的教程:link to page

也许你想知道我为什么不与主持人发生争执,他们回复需要很长时间......

我做错了为什么我无法连接如何解决?

修改/更新

我现在设置了一个SSH隧道但是当我尝试连接它时仍然会给我这个错误lost connection to mysql server at 'reading initial communication packet' system error 0

我可以通过PuTTy连接,如in this link所示。并且您可以看到on this screenshot

找到端口,主机名等

但是一旦我把它填入NaviCat,就像这个general settings

和这个

this

但仍然没有运气:S现在收到此错误:error

如果有人能帮助我,我会非常感激!

1 个答案:

答案 0 :(得分:2)

我的猜测是Strato阻止外部访问您的数据库。这是100%的好。允许互联网访问数据库通常是一个坏主意。

您可以通过SSH连接到服务器,然后使用mysql CLI连接到数据库。 SSH访问MySQL数据库部分中的Instructions are provided in the link you shared

使用SSH,您还可以移植隧道以允许与客户端进行远程连接。这是一种稍微先进的技术,您可以将本地计算机上的端口(localhost)链接到远程计算机上的端口。

在PuTTy中输入服务器名称,就像他们的说明所示: enter image description here

然后转到左侧菜单中的SSH>>隧道。填写您的源端口(本地计算机将侦听的端口)和您的目标(服务器:您通过隧道转发流量的REMOTE计算机上的端口):

enter image description here

我正在使用本地端口66306,只要不在您的计算机上使用,您可以使用您想要的任何端口。单击“添加”,然后打开连接并在出现提示时输入您的用户名/密码。如果你遇到困难,请参阅Strato帮助文档。

现在......在你的mysql客户端(Navicat)中,你将要连接你的数据库。因为您有一个隧道开放转发从您的计算机的63306端口(或您选择的任何端口)到远程计算机3306端口的流量,您将在Navicat中指定:

Connection Name: Whatever
Hostname/IpAddress: localhost
Port: 63306
Username: strato db username
Password: strato db password

现在它应该连接。 Strato将您的流量看作是因为隧道而来自他们的服务器,它将允许您通过。