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

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

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

有什么解决办法吗?


当前回答

我得到了错误error 2059 (HY000):身份验证插件“caching_sha2_password”无法加载:/usr/lib64/mysql/plugin/caching_sha2_password。so:不能打开共享对象文件:没有这样的文件或目录。原来是我自己的错;我把用户名打错了。一旦我纠正了错字,我就可以很好地连接了。

其他回答

打开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常见问题

我通过安装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/

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

密码加密 传统加密

在这里阅读

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

PIP卸载mysql-connector

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

好吧,在这上面浪费了很多时间,所以这里是截至2019年3月19日的总结

如果你特别想在MySql 8+中使用Docker镜像,然后使用SequelPro来访问运行在Docker容器上的数据库,那你就不走运了。

请参阅第2699期续作

我的设置是sequelpro 1.1.2,使用docker desktop 2.0.3.0 (mac - mojave),并尝试使用mysql:latest (v8.0.15)。

正如其他人所报道的,使用mysql 5.7不需要任何东西:

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7

当然,也可以在docker上使用MySql 8+,在这种情况下(如果需要的话),这里提供的其他解决caching_sha2_password类型问题的答案是有效的。但是sequelpro在MySql 8+中是行不通的

最后,我放弃了sequelpro(一个值得信赖的朋友,从2013年到2014年),而是安装了DBeaver。一切都在框框之外。对于docker,我使用:

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:latest --default-authentication-plugin=mysql_native_password

你可以快速查看mysql数据库使用:

docker exec -it mysql1 bash

mysql -u root -p

show databases;