我正在连接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在安装时允许两种类型的身份验证。
密码加密 传统加密
在这里阅读
因此,通过检查遗留身份验证,问题得到了解决。
其他回答
macOS的MySQLWorkbench 8.0.11解决了这个问题。 我可以建立连接与根密码保护mysql实例运行在docker。
对我来说,这种情况开始发生是因为在一个项目中,我正在使用Docker映像mysql:latest(这是版本5,并且工作良好),在后来的构建中,最新版本切换到版本8,并停止工作。我把我的映像改为mysql:5,我不再得到这个错误。
你可以用下面的Alter命令改变用户密码的加密:
ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY “密码”;
OR
我们可以通过使用old password插件来避免这个错误:
首先修改my.cnf文件中的认证插件,用于Linux / Windows中的my.ini文件:
(mysqld) default_authentication_plugin = mysql_native_password
重新启动mysql服务器以使更改生效,并尝试通过mysql连接任何mysql客户端。
如果仍然无法连接并得到以下错误:
Unable to load plugin 'caching_sha2_password'
这意味着你的用户需要上面的插件。所以尝试在修改默认插件后用create user或grant命令创建新用户。然后新用户需要本地插件,你将能够连接MySQL。
谢谢
在mac上下载8.0.11-rc的开发版本对我来说是可行的。使用以下docker命令:
docker run --name mysql -p 3406:3306 -e MYSQL_ROOT_PASSWORD=mypassword -d 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:不能打开共享对象文件:没有这样的文件或目录
我通过升级系统解决了这个问题。