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

时间:2022-09-23 17:00:11

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

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

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

使用navicat的SSH隧道连接数据库
后来才各种查找是才知道这两个标签页面的的地址是不一样的,

SSH页面的主机名是远程的ip,用户名是登陆服务器的用户名和密码
使用navicat的SSH隧道连接数据库
这个页面是不用连接测试的

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

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