我正在连接MySQL - 8.0与MySQL工作台和得到以下错误:

无法加载认证插件“caching_sha2_password”: dlopen (/ usr /地方/ mysql / lib /插件/ caching_sha2_password。所以,2):图像 没有找到

我也尝试过其他客户端工具。

有什么解决办法吗?


当前回答

在Debian 11中,我有mariadb-client-10.3 MySQL客户端,我有以下错误:

错误1045 (28000):Plugin caching_sha2_password cannot be loaded: /usr/lib/x86_64-linux-gnu/mariadb19/ Plugin /caching_sha2_password. txtso:不能打开共享对象文件:没有这样的文件或目录

我通过升级系统解决了这个问题。

其他回答

Windows 10:

打开命令提示符:

cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"

C:\Program Files\MySQL\MySQL Server 8.0\bin> mysql -u root -p
Enter password: *********

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newrootpassword';
Query OK, 0 rows affected (0.10 sec)

mysql> exit

或者,您可以更改my.ini配置如下:

[mysqld]

default_authentication_plugin=mysql_native_password

重新启动MySQL服务器并再次打开Workbench。

打开MySQL命令行客户端 使用新通行证创建一个新用户

考虑一个bin文件夹路径的例子,下面是你需要在命令提示符中逐行运行的代码:

cd C:\Program Files\MySQL\MySQL Server 5.7\bin
MySQL -u root -p    
current password...***  
CREATE USER 'nativeuser'@'localhost'  
IDENTIFIED WITH mysql_native_password BY 'new_password';

然后,您可以再次访问Workbench(在创建新的localhost连接并使用新的凭据开始使用程序之后,您应该能够这样做)。

用上面提到的用户名(本机用户)建立一个新的本地主机连接,使用密码(new_password)登录

由Career365团队回答的UDEMY常见问题

几乎像上面的答案一样,但可能是在简单的查询中,我在MySQL升级后的spring引导应用程序和hibernate中得到了这个错误。通过对DB运行下面的查询,我们创建了一个新用户。我相信这是一个临时的工作,使用sha256_password而不是最新的和良好的身份验证caching_sha2_password。

CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pa$$word';

GRANT ALL PRIVILEGES ON * .* TO 'username'@'localhost';

实际上MySql在安装时允许两种类型的身份验证。

密码加密 传统加密

在这里阅读

因此,通过检查遗留身份验证,问题得到了解决。

打开sql命令提示符:

然后输入mysql密码

最后使用:

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password'

参见:https://stackoverflow.com/a/49228443/6097074

谢谢。