我正在连接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):图像 没有找到
我也尝试过其他客户端工具。
有什么解决办法吗?
当前回答
对我来说,这种情况开始发生是因为在一个项目中,我正在使用Docker映像mysql:latest(这是版本5,并且工作良好),在后来的构建中,最新版本切换到版本8,并停止工作。我把我的映像改为mysql:5,我不再得到这个错误。
其他回答
对我来说,这种情况开始发生是因为在一个项目中,我正在使用Docker映像mysql:latest(这是版本5,并且工作良好),在后来的构建中,最新版本切换到版本8,并停止工作。我把我的映像改为mysql:5,我不再得到这个错误。
如果你试图从基于文本的MySQL客户端从另一台计算机(无论是Docker还是其他计算机)连接到MySQL服务器
这里的大多数答案涉及从桌面客户端连接,或者要求您切换到较旧的身份验证方法。如果你将它连接到MySQL客户端(基于文本),我让它在Docker容器中使用Debian Buster。
假设你有apt系统,并且已经设置好了,请执行以下操作:
Sudo apt-get update Sudo apt-get install lsb-release -y 从MySQL网站上下载一个Debian软件包来更新apt源代码。 Sudo DPKG -i mysql-apt-config_0.8.13-1_all.deb然后选择你想要的选项。在我的情况下,我只需要MySQL工具和连接器启用。 Sudo apt-get update 安装mysql-client -y 完成了。现在可以运行新的MySQL客户端并连接到新的身份验证方法。
如果你像我一样在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!)
下面的解决方案对我很有效
进入Mysql Workbench -> Server-> Users and Privileges 1.单击“添加帐户”
2.在登录选项卡下提供新的详细信息,并确保选择认证类型作为标准,并选择各自的管理角色和模式特权
如果仍然希望使用新的身份验证方法,正确的解决方案是安装mariadb-connector-c包。对于Alpine,运行:
apk add mariadb-connector-c
这将添加缺少的caching_sha2_password。库到/usr/lib/mariadb/plugin/caching_sha2_password。So。