当前位置: 首页 > 知识库问答 >
问题:

"认证插件'caching_sha2_password'

戚勇
2023-03-14

我是MySql环境的新手,通过以下命令安装了:MySql:

sudo apt-get update
sudo apt-get install mysql-server
mysql_secure_installation

并且还安装了mysql工作台。

但当我尝试连接本地主机时,出现以下错误:

“无法加载身份验证插件'caching_sha2_password':usr/lib/mysql/plugin/caching_sha2_password。因此:无法打开共享对象文件:没有此类文件或目录”

即使这是我第一次在stackoverflow中发布问题,也为我的演示错误和语法感到抱歉。

共有3个答案

黄弘盛
2023-03-14

在我的房间里。cnf文件添加以下行:

default-authentication-plugin=mysql_native_password

然后重新启动服务器。

卫浩瀚
2023-03-14

下面将介绍更多详细信息:caching\u sha2\u passwordplugin是MySQL 8服务器上新的默认身份验证插件。只有MySQL 8发行版中的libmysql库拥有这个插件,它是静态地构建在libmysql中的,libmysql是用于各种客户端的C连接器。该缓存\u sha2\u密码不可单独下载。

这是libmysql第一次静态包含一个重要的插件。这会导致任何其他libmysql(包括libmaradb和更早的libmysql)无法使用定义为使用该caching_sha2_password身份验证的用户连接到MySQL 8。

我只希望MariaDB的人也能把那个caching_sha2_password包含在他们的libmaradb中,以恢复MySQL和MariaDB之间的兼容性。

从MySQL的服务器博客:

MySQL 8.0.3中添加了对caching_sha2_password的支持。旧版本的libmysqlClient不支持这个插件。因此,尽管使用libmysqlClient的客户端工具比MySQL 8.0.3版本更早,可以使用使用其他身份验证插件(如mysql_native_password或sha256_password)的用户连接到MySQL 8.0.4服务器,但此类客户端不能使用需要caching_sha2_password支持的用户连接到MySQL 8.0.4服务器。对于升级后的数据库,这意味着使用现有用户帐户进行连接不会遇到任何问题。

鄂坚
2023-03-14

所以我找到了错误消息的原因(至少在我的案例中是这样)。这是因为8.04版及以后的MySQL使用了缓存\u sha2\u密码作为默认身份验证插件,而之前使用的是MySQL\u原生\u密码

这显然会导致与期望mysql_native_password身份验证的旧服务的兼容性问题。

解决:

>

将MySQL服务器降级到低于该更改的版本。

现在关于选项3,这就像改变用户一样简单:

ALTER USER user
IDENTIFIED WITH mysql_native_password
BY 'pw';

或者在创建用户时:

CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

查看MySQL Server博客

见甲骨文

 类似资料:
  • 我试图掌握Java邮件API和TLS的基本原理。我有以下情况: 有一个使用TLS的STMP服务器 然后我尝试在另一台机器上运行一个web服务器,它使用前面提到的SMTP服务器发送邮件。我还是想发TLS 我发现很多人都有类似的问题,但我的问题是: 考虑到前面描述的场景,我是否必须向web服务器(可能在JRE中的某个地方)获取某种证书,还是因为邮件服务器已经有了该证书,它就可以正常工作 我对JavaM

  • 介绍 文件认证模板是 Crane · 第二代加密引擎为魔方+用户提供的功能。 常见的“文件认证”包括: 检测服务器 IP 是否正确 检测服务器主机名是否正确 检测网站的域名是否正确 检测当前时间是否在某个范围之内 使用其它方法检测文件是否允许运行 与传统的实现方法不同,使用文件认证模板的步骤为: 编写不含任何认证代码的源文件 编写文件认证模板 将两个文件上传魔方加密进行加密,加密时两个文件将会自动

  • 有什么建议吗? DS 代码为: 在其上运行命令的: 项目中的位置:

  • 我无法找到一种REST webservice方式来身份验证(登录)并知道他的角色(授权)。虽然,Openbravo维基说有一种登录的方法,但没有提供任何其他关于其网址等细节。有人能在这方面提供帮助吗?谢啦 编辑 我也在Openbravo论坛上发布了这个问题。希望这将有利于其他人。

  • 和 Web 应用不同,RESTful APIs 通常是无状态的, 也就意味着不应使用 sessions 或 cookies, 因此每个请求应附带某种授权凭证,因为用户授权状态可能没通过 sessions 或 cookies 维护, 常用的做法是每个请求都发送一个秘密的 access token 来认证用户, 由于 access token 可以唯一识别和认证用户, API 请求应通过 HTTPS

  • 认证是鉴定用户身份的过程。它通常使用一个标识符 (如用户名或电子邮件地址)和一个加密令牌(比如密码或者存取令牌)来 鉴别用户身份。认证是登录功能的基础。 Yii提供了一个认证框架,它连接了不同的组件以支持登录。欲使用这个框架, 你主要需要做以下工作: 设置用户组件 user ; 创建一个类实现 yii\web\IdentityInterface 接口。 配置 yii\web\User 用户组件 u