我正在连接MySQL - 8.0与MySQL工作台和得到以下错误:

无法加载认证插件“caching_sha2_password”: dlopen (/ usr /地方/ mysql / lib /插件/ caching_sha2_password。所以,2):图像 没有找到

我也尝试过其他客户端工具。

有什么解决办法吗?


当前回答

刚刚下载了最新的mysqlworkbench,它与最新的加密兼容:

https://downloads.mysql.com/archives/workbench/

注意:在Mac big Sur上,最新的两个版本:8.0.22和8.0.23是错误的,不能工作。

使用8.0.21直到这些问题得到解决

其他回答

PIP卸载mysql-connector

然后安装 PIP安装mysql-connector-python

以下是在Windows 10上安装MySQL 8.0后对我有效的解决方案。

假设MySQL用户名为root,密码为admin

打开命令提示符,输入以下命令:

cd C:\Program Files\MySQL\MySQL Server 8.0\bin Mysql_upgrade -uroot -padmin Mysql -uroot -padmin ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY “管理”

如果你试图从基于文本的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客户端并连接到新的身份验证方法。

下面的解决方案对我很有效

进入Mysql Workbench -> Server-> Users and Privileges 1.单击“添加帐户”

2.在登录选项卡下提供新的详细信息,并确保选择认证类型作为标准,并选择各自的管理角色和模式特权

我在M1 (arm64)中运行docker,在docker bash中直接更改的方式不适合我。相反,我将mysql映像更改为 mysql: 8.0.26 平台设置为 linux / x86_64 在my.cnf中添加default_authentication_plugin=mysql_native_password 然后,重新构建容器。