首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能通过SSH隧道与Navicat连接到MariaDB?

为什么我不能通过SSH隧道与Navicat连接到MariaDB?
EN

Server Fault用户
提问于 2018-08-29 16:11:01
回答 1查看 2.7K关注 0票数 1

我一直在windows上使用Navicat来管理MySQL/Percona实例。

几天前,我买了一台新服务器,安装了MariaDB 10.3.9。

我可以很好地连接到它,当我在一个腻子会话SSHd进入框。mysql -u root -p完美地提出了这一点。

但是,出于某种原因,Navicat抛出了错误access denied for user 'root'@'::1' (using password: YES)

Navicat设置与我以前一直使用的设置相同:

主机名: localhost端口: 3306 Mysql用户名: root Mysql密码:根的mysql密码

使用SSH隧道: yes IP地址:我服务器的ip SSH用户名:我的名字 SSH密码:我的ssh密码

我不知道当我手动做它的时候,它为什么会在SSH上工作,但是当Navicat做它的时候,它不会工作,尽管它大概是在做同样的事情。'::1'的内容是什么,这是否指向了问题所在?

谢谢!

EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-08-29 18:11:58

实际上,MySQL中有三个微妙不同的根用户。(这是一种真正的痛苦,但它永远都是这样的,而且可能不会改变.)

代码语言:javascript
复制
MariaDB [(none)]> select Host, User from mysql.user where User = 'root';
+-----------+------+
| Host      | User |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| localhost | root |
+-----------+------+
3 rows in set (0.06 sec)

只有在使用UNIX进行连接时,才会使用带有主机root的用户localhost。其他用户在通过TCP套接字连接时,分别通过IPv4或IPv6进行连接。

当您使用Navicat进行ssh端口转发时,将使用TCP套接字,特别是IPv6 TCP套接字(因为IPv6优于IPv4)。所以那个用户就是被认证的人。

我们中的大多数人都是通过确保所有三行的密码设置相同来处理这个问题的。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/928568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档