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

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

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

有什么解决办法吗?


当前回答

你可以用下面的Alter命令改变用户密码的加密:

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY “密码”;

OR

我们可以通过使用old password插件来避免这个错误:

首先修改my.cnf文件中的认证插件,用于Linux / Windows中的my.ini文件:

(mysqld) default_authentication_plugin = mysql_native_password

重新启动mysql服务器以使更改生效,并尝试通过mysql连接任何mysql客户端。

如果仍然无法连接并得到以下错误:

Unable to load plugin 'caching_sha2_password'

这意味着你的用户需要上面的插件。所以尝试在修改默认插件后用create user或grant命令创建新用户。然后新用户需要本地插件,你将能够连接MySQL。

谢谢

其他回答

当所使用的工具与MySQL8不兼容时出现此错误,请尝试更新到MySQL Workbench的最新版本

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。

实际上MySql在安装时允许两种类型的身份验证。

密码加密 传统加密

在这里阅读

因此,通过检查遗留身份验证,问题得到了解决。

我通过安装MySQL 5.7解决了这个问题:

步骤1 -启用MySQL存储库

首先,你需要在你的系统上启用MySQL 5.7社区发行版yum存储库。yum repository配置的rpm包可在MySQL官网获取。根据您的操作系统版本使用以下命令中的任意一个。

关于CentOS和RHEL 7

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

关于CentOS和RHEL 6

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

在Fedora 27上

dnf install https://dev.mysql.com/get/mysql57-community-release-fc27-9.noarch.rpm

在Fedora 26上

dnf install https://dev.mysql.com/get/mysql57-community-release-fc26-9.noarch.rpm

在Fedora 25上

dnf install https://dev.mysql.com/get/mysql57-community-release-fc25-9.noarch.rpm

步骤2 -安装MySQL 5.7 Server

因为你已经成功地在你的系统上启用了MySQL yum存储库。现在,根据您的操作系统版本,使用以下命令安装MySQL 5.7社区服务器。

关于CentOS和RHEL 7/6

yum install mysql-community-server

在Fedora 27/26/25

 dnf install mysql-community-server

来源:https://tecadmin.net/install-mysql-5-7-centos-rhel/

虽然这不是实数 解决方案,如果你被卡住了,它在本地是有效的

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';