您好我正在尝试连接到由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所示。并且您可以看到
找到端口,主机名等和这个
如果有人能帮助我,我会非常感激!
答案 0 :(得分:2)
我的猜测是Strato阻止外部访问您的数据库。这是100%的好。允许互联网访问数据库通常是一个坏主意。
您可以通过SSH连接到服务器,然后使用mysql
CLI连接到数据库。 SSH访问MySQL数据库部分中的Instructions are provided in the link you shared。
使用SSH,您还可以移植隧道以允许与客户端进行远程连接。这是一种稍微先进的技术,您可以将本地计算机上的端口(localhost)链接到远程计算机上的端口。
然后转到左侧菜单中的SSH>>隧道。填写您的源端口(本地计算机将侦听的端口)和您的目标(服务器:您通过隧道转发流量的REMOTE计算机上的端口):
我正在使用本地端口66306,只要不在您的计算机上使用,您可以使用您想要的任何端口。单击“添加”,然后打开连接并在出现提示时输入您的用户名/密码。如果你遇到困难,请参阅Strato帮助文档。
现在......在你的mysql客户端(Navicat)中,你将要连接你的数据库。因为您有一个隧道开放转发从您的计算机的63306端口(或您选择的任何端口)到远程计算机3306端口的流量,您将在Navicat中指定:
Connection Name: Whatever
Hostname/IpAddress: localhost
Port: 63306
Username: strato db username
Password: strato db password
现在它应该连接。 Strato将您的流量看作是因为隧道而来自他们的服务器,它将允许您通过。