nvicat for mysql 远程连接数据库
最开始我做的时候直接是在常规选项卡下填上了 IP 地址和相关信息,然后就进行连接测试,结果发现死活连接不上。经过百度后发现,使用 Nvicat for MySQL 远程连接数据库的时候有两个步骤,一个都不能省略。
第一步 在 SSH 选项卡下进行相关设置
在 SSH 选项卡中设置相关信息,如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6c5Xbml5-1632326489667)(http://www.gaozhengjie.cn/usr/uploads/2021/03/833713333.png)]
点击连接测试
,如果出现如下错误:
80070007: SSH Tunnel: Server does not support diffie-hellman-group1-sha1 for keyexchange
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KQ2bdIMR-1632326489669)(http://www.gaozhengjie.cn/usr/uploads/2021/03/659786277.png)]
解决方案如下:
- 进入 /etc/ssh/sshd_config 在最下面 加入下面代码
KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
- 保存后,执行该命令
ssh-keygen -A
- 重启SSH
service ssh restart
第二步 在常规选项卡下进行相关设置
已经连接到服务器了,我们就该连接服务器上的数据库了,到这里就和我们连接本地的数据库一样了,如下图所示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HmZ8XfPu-1632326489670)(http://www.gaozhengjie.cn/usr/uploads/2021/03/1800046389.png)]
主机不允许连接的错误如何解决
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tV0kb3Z4-1632326489671)(http://www.gaozhengjie.cn/usr/uploads/2021/03/1383104209.png)]
这种错误一般是由于帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"。依次执行以下命令:
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>flush privileges;
参考文章
[1] navicat链接阿里云mysql报80070007: SSH Tunnel: Server does not support diffie-hellman-group1-sha1 for keyexchange
[2] Navicat for MySQL 使用SSH方式链接远程数据库