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

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

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

有什么解决办法吗?


当前回答

下面的解决方案对我很有效

进入Mysql Workbench -> Server-> Users and Privileges 1.单击“添加帐户”

2.在登录选项卡下提供新的详细信息,并确保选择认证类型作为标准,并选择各自的管理角色和模式特权

其他回答

我得到了错误error 2059 (HY000):身份验证插件“caching_sha2_password”无法加载:/usr/lib64/mysql/plugin/caching_sha2_password。so:不能打开共享对象文件:没有这样的文件或目录。原来是我自己的错;我把用户名打错了。一旦我纠正了错字,我就可以很好地连接了。

我也遇到了同样的问题,但是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';

你都准备好了。

注意:适用于MAC OS

从系统首选项>打开MySQL初始化数据库> 输入新密码。 选择“使用旧密码” 重新启动服务器。 现在连接MySQL工作台

注意:适用于Linux (Debian, Ubuntu, Mint)

我得到了这个错误:

MySQL Error Message: Plugin caching_sha2_password could not be loaded: /usr/lib/x86_64-linux-gnu/mariadb19/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

我通过以下步骤解决了这个问题:

在mysql控制台输入:$ mysql -u root -p,如果你没有root用户的密码,那么: 使用mysql数据库:>使用mysql; mysql> Alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 退出……mysql >退出; 完成了!

对于那些使用Docker或Docker Compose的人,我遇到了这个错误,因为我没有设置我的MySQL镜像版本。Docker将自动尝试获取最新版本,即8。

我将MySQL设置为5.7并重新构建映像,它正常工作:

version: '2'
services: 
  db:
   image: mysql:5.7