用Navicat连接不上服务器数据库SSH:expected key exchange group packet form server
说明:网上搜索资料说这是Navicat的一个bug,是版本的原因,然后换SQLyog就好了,顺便说说这个用SSH连接服务器数据库的问题。
为什么要通过SSH连接服务器呢,而不是直接在本地连接数据了,当然是因为本地电脑无法访问或者无权限访问数据库,前一个原因是数据库在服务端中的内环环境,必须通过跳板机的方式访问,还有一个是IP和域名未对外公开,就更访问不了,上图。
如何实现
- 先设置数据库相关的信息
新建一个连接的时候,默认第一个选项卡就是数据库相关的,那就输入数据的IP或者域名、用户名、密码、端口号、数据库名(有的软件可能不需要输这个),然后不要着急、不要着急点“确定”或者“OK”。
- 再输入SSH连接的相关信息
在第一个选项卡的后面几个位置,就会看到“SSH”三个字母,这个时候呢,你就要把你跳板机,也就是你要走的那个“桥”的服务器的IP、用户名、密码、端口号、在输入进去,然后连接。
再说两句题外话
- 如何确定你本地不能访问数据库呢?
mysql -hyouhost -uyourname -pyourpassword
重声一下,是-h,-u,-p,而youhost代表IP或者域名,yourname代表用户名,yourpassword代表密码,看看能不能连接上。
- 如何确定你使用的跳板机可以访问数据库呢?
还是上面的那个命令,再试一次。
如果本地可以连接上数据库,那就本地连,如果连接不上,那就用跳板机连,跳板机都连不上,估计是服务器出问题了,或者你电脑断网了。