我正在连接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命令行客户端 使用新通行证创建一个新用户
考虑一个bin文件夹路径的例子,下面是你需要在命令提示符中逐行运行的代码:
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
MySQL -u root -p
current password...***
CREATE USER 'nativeuser'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'new_password';
然后,您可以再次访问Workbench(在创建新的localhost连接并使用新的凭据开始使用程序之后,您应该能够这样做)。
用上面提到的用户名(本机用户)建立一个新的本地主机连接,使用密码(new_password)登录
由Career365团队回答的UDEMY常见问题
其他回答
注意:适用于MAC OS
从系统首选项>打开MySQL初始化数据库> 输入新密码。 选择“使用旧密码” 重新启动服务器。 现在连接MySQL工作台
如果仍然希望使用新的身份验证方法,正确的解决方案是安装mariadb-connector-c包。对于Alpine,运行:
apk add mariadb-connector-c
这将添加缺少的caching_sha2_password。库到/usr/lib/mariadb/plugin/caching_sha2_password。So。
我在M1 (arm64)中运行docker,在docker bash中直接更改的方式不适合我。相反,我将mysql映像更改为 mysql: 8.0.26 平台设置为 linux / x86_64 在my.cnf中添加default_authentication_plugin=mysql_native_password 然后,重新构建容器。
您可以像这样更改密码的加密。
ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';
对于那些使用Docker或Docker Compose的人,我遇到了这个错误,因为我没有设置我的MySQL镜像版本。Docker将自动尝试获取最新版本,即8。
我将MySQL设置为5.7并重新构建映像,它正常工作:
version: '2'
services:
db:
image: mysql:5.7