我正在连接MySQL - 8.0与MySQL工作台和得到以下错误:
无法加载认证插件“caching_sha2_password”: dlopen (/ usr /地方/ mysql / lib /插件/ caching_sha2_password。所以,2):图像 没有找到
我也尝试过其他客户端工具。
有什么解决办法吗?
我正在连接MySQL - 8.0与MySQL工作台和得到以下错误:
无法加载认证插件“caching_sha2_password”: dlopen (/ usr /地方/ mysql / lib /插件/ caching_sha2_password。所以,2):图像 没有找到
我也尝试过其他客户端工具。
有什么解决办法吗?
当前回答
打开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常见问题
其他回答
我在M1 (arm64)中运行docker,在docker bash中直接更改的方式不适合我。相反,我将mysql映像更改为 mysql: 8.0.26 平台设置为 linux / x86_64 在my.cnf中添加default_authentication_plugin=mysql_native_password 然后,重新构建容器。
实际上MySql在安装时允许两种类型的身份验证。
密码加密 传统加密
在这里阅读
因此,通过检查遗留身份验证,问题得到了解决。
对于Windows 10,
修改C:\ProgramData\MySQL\MySQL Server 8.0目录下my.ini文件 (mysqld) default_authentication_plugin = mysql_native_password 重新启动MySQL服务。 通过命令行登录MySQL,在MySQL中执行如下命令: 创建新用户。 创建用户“USER”@“localhost” 授予所有特权。 授予'user'@'localhost'上的所有权限; 打开MySQL工作台,并使用新的用户凭证打开一个新连接。
我也面临着同样的问题,这个方法奏效了。
在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:不能打开共享对象文件:没有这样的文件或目录
我通过升级系统解决了这个问题。
我也遇到了同样的问题,但是Aman Aggarwal的答案在运行mysql 8.X的Docker容器中对我不起作用。 我登录了集装箱
docker exec -it CONTAINER_ID bash
然后以root用户登录mysql
mysql --user=root --password
输入root密码(默认为'root') 最后运行:
ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password';
你都准备好了。