用户'root'@'localhost'在dbeaver中被拒绝访问

10
在Ubuntu 18.04的DBeaver进行测试连接时,出现如下错误:
用户'root'@'localhost'被拒绝访问

我不知道如何解决此问题。我可以通过sudo mysql在终端连接到mysql。
此外,我还将数据库字段保留为空。请参考以下截图:

enter image description here


您是否为root用户设置了密码?这是您收到的完整错误消息吗? - Dave
@Dave 我能够运行这个 sudo mysql。这是完整的错误信息。 - sajgkh
请参考此处的答案:https://dev59.com/qVUL5IYBdhLWcg3wYHDD - Raknos13
4个回答

3

如果有人遇到这个问题,原因是Ubuntu、Mint(以及其他发行版)不再使用默认的空密码。 因此,我们需要重置密码:

sudo mysql_secure_installation

选择您想要的密码级别,输入它,然后对所有内容进行确认 (Y)。然后:

sudo mysql

并执行(将单词“password”更改为您之前编写的密码):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

好的,现在您可以使用新密码在DBeaver中配置本地数据库。希望这对您有用。


2

我曾经遇到过类似的问题。也许这些建议可以帮助你解决错误。你的用户密码不应该包含任何特殊字符。

在我的情况下,密码中的“~”就是问题的根源。


1

它也适用于Mariadb。在Mariadb中,您必须检查第3步的语法,如下所示:

ALTER USER 'rot'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('password');

感谢@gasgen

如果有人遇到这个问题,原因是Ubuntu Mint(和其他发行版)默认不再使用“空白”密码。 因此,我们需要重置它:

sudo mysql_secure_installation

选择您想要的密码强度级别,输入密码,然后对所有内容选择是(Y)。 接下来:
 sudo mysql

并执行(将单词“password”更改为您之前编写的密码):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

现在你可以使用新密码在DBeaver中配置本地数据库了。希望这对你有用。


0
我在Dbeaver(以及Beekeeper Studio)遇到了同样的问题。将密码更改为空密码对我有所帮助。这应该是默认配置,但似乎空密码被存储为数据库中的无效值...
通过终端登录数据库:
sudo mysql -u root

输入密码用于sudo,而不是数据库帐户... 检查用户系统表:
SELECT host, user, password FROM mysql.user;

如果您的root账户密码是无效(或者不为空),请重新设置为空密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '';
exit;

现在尝试使用root账户通过DBeaver登录,密码留空。

上述解决方案适用于DBeaver和Beekeeper。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接