我正在连接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):图像 没有找到
我也尝试过其他客户端工具。
有什么解决办法吗?
当前回答
对于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工作台,并使用新的用户凭证打开一个新连接。
我也面临着同样的问题,这个方法奏效了。
其他回答
几乎像上面的答案一样,但可能是在简单的查询中,我在MySQL升级后的spring引导应用程序和hibernate中得到了这个错误。通过对DB运行下面的查询,我们创建了一个新用户。我相信这是一个临时的工作,使用sha256_password而不是最新的和良好的身份验证caching_sha2_password。
CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pa$$word';
GRANT ALL PRIVILEGES ON * .* TO 'username'@'localhost';
当所使用的工具与MySQL8不兼容时出现此错误,请尝试更新到MySQL Workbench的最新版本
对于那些使用Docker或Docker Compose的人,我遇到了这个错误,因为我没有设置我的MySQL镜像版本。Docker将自动尝试获取最新版本,即8。
我将MySQL设置为5.7并重新构建映像,它正常工作:
version: '2'
services:
db:
image: mysql:5.7
下面的解决方案对我很有效
进入Mysql Workbench -> Server-> Users and Privileges 1.单击“添加帐户”
2.在登录选项卡下提供新的详细信息,并确保选择认证类型作为标准,并选择各自的管理角色和模式特权
刚刚下载了最新的mysqlworkbench,它与最新的加密兼容:
https://downloads.mysql.com/archives/workbench/
注意:在Mac big Sur上,最新的两个版本:8.0.22和8.0.23是错误的,不能工作。
使用8.0.21直到这些问题得到解决