我正在连接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):图像 没有找到
我也尝试过其他客户端工具。
有什么解决办法吗?
当前回答
我在M1 (arm64)中运行docker,在docker bash中直接更改的方式不适合我。相反,我将mysql映像更改为 mysql: 8.0.26 平台设置为 linux / x86_64 在my.cnf中添加default_authentication_plugin=mysql_native_password 然后,重新构建容器。
其他回答
你可以用下面的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。
谢谢
您可以像这样更改密码的加密。
ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';
如果你像我一样在GitLab上得到这个错误: 只要从最新版本更改到5.7版本即可;)
# .gitlab-ci.yml
rspec:
services:
# - mysql:latest (I'm using latest version and it causes error)
- mysql:5.7 #(then I've changed to this specific version and fix!)
对于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工作台,并使用新的用户凭证打开一个新连接。
我也面临着同样的问题,这个方法奏效了。
刚刚下载了最新的mysqlworkbench,它与最新的加密兼容:
https://downloads.mysql.com/archives/workbench/
注意:在Mac big Sur上,最新的两个版本:8.0.22和8.0.23是错误的,不能工作。
使用8.0.21直到这些问题得到解决