我正在连接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):图像 没有找到
我也尝试过其他客户端工具。
有什么解决办法吗?
当前回答
注意:适用于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 run -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql --default-authentication-plugin=mysql_native_password
mysql -uroot --protocol tcp
试试PWD
https://github.com/GitHub30/docs/blob/change-default_authentication_plugin/mysql/stack.yml
或者你应该使用MySQL Workbench 8.0.11。
在mac上下载8.0.11-rc的开发版本对我来说是可行的。使用以下docker命令:
docker run --name mysql -p 3406:3306 -e MYSQL_ROOT_PASSWORD=mypassword -d mysql
下面的解决方案对我很有效
进入Mysql Workbench -> Server-> Users and Privileges 1.单击“添加帐户”
2.在登录选项卡下提供新的详细信息,并确保选择认证类型作为标准,并选择各自的管理角色和模式特权
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。
对我来说,这种情况开始发生是因为在一个项目中,我正在使用Docker映像mysql:latest(这是版本5,并且工作良好),在后来的构建中,最新版本切换到版本8,并停止工作。我把我的映像改为mysql:5,我不再得到这个错误。