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

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

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

有什么解决办法吗?


当前回答

Windows 10:

打开命令提示符:

cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"

C:\Program Files\MySQL\MySQL Server 8.0\bin> mysql -u root -p
Enter password: *********

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newrootpassword';
Query OK, 0 rows affected (0.10 sec)

mysql> exit

或者,您可以更改my.ini配置如下:

[mysqld]

default_authentication_plugin=mysql_native_password

重新启动MySQL服务器并再次打开Workbench。

其他回答

目前(2018/04/23),您需要下载开发版本。GA的不工作。

我无法连接到最新的GA版本(6.3.10)。

它适用于mysql-workbench-community-8.0.11-rc-winx64。msi(来自https://dev.mysql.com/downloads/workbench/,选项卡Development Releases)。

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

我发现

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

它不能自己起作用。我还需要设置

[mysqld]
    default_authentication_plugin=mysql_native_password

在/etc/mysql/mysql.conf.d / mysqld.cnf Ubuntu 18.04运行PHP 7.0

我也遇到了同样的问题,但是Aman Aggarwal的答案在运行mysql 8.X的Docker容器中对我不起作用。 我登录了集装箱

docker exec -it CONTAINER_ID bash

然后以root用户登录mysql

mysql --user=root --password

输入root密码(默认为'root') 最后运行:

ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password';

你都准备好了。

注意:适用于MAC OS

从系统首选项>打开MySQL初始化数据库> 输入新密码。 选择“使用旧密码” 重新启动服务器。 现在连接MySQL工作台