使用navicat的SSH隧道连接数据库

这几天在连接远程数据库的时候,发现用navicat的普通方法居然连接不上,然后就想用ssh连接试试,开始是报错的,错误是这样的:

lost connection to Mysql server at “waiting for initial communication 
packet’,system error:0 “internet error/check (NOT system error)”

这个错误其实是地址填错了

lost connection to Mysql server at "waiting for initial  communication packet',system error:0 "internet error/check (NOT system error)"
后来才各种查找是才知道这两个标签页面的的地址是不一样的,

SSH页面的主机名是远程的ip,用户名是登陆服务器的用户名和密码 
ssh标签页面内容
这个页面是不用连接测试的

常规标签页的主机名要写localhost或127.0.0.1 
用户是远程数据库的可登陆用户名和密码 
常规标签页面的内容写localhost
然后就可以连接测试了,其本就没有问题了

还要注意的是,我这里演示用的root用户,但是实际连接不要用root用户,因为服务器上,mysql数据库的默认的一个root用户,默认也是只可以本地连接的,所有要先在数据库中创建一个用户,并且host设为%,即允许所有用户连接,然后在标签页要用新创建的这个用户连接才能连接成功。

posted @ 2021-09-03 19:16  panchanggui  阅读(556)  评论(0编辑  收藏  举报