首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL 8.0的新认证协议

MySQL 8.0的新认证协议
EN

Stack Overflow用户
提问于 2018-09-16 07:19:43
回答 1查看 306关注 0票数 1

在MySQL 8.0.4中有一个新的客户端<->服务器身份验证协议。当我试图从我的客户端连接到MySQL服务器时,MySQL服务器响应:

客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端。

到目前为止,我直接从我的应用程序连接到MySQL -没有libMySQL.dll。因此,我直接通过TCP/IP进行没有库的通信。现在我必须实现新的身份验证。在哪里可以获得有关新客户端服务器协议的信息?

MySQL内部设备手册中,我找不到有关它的信息。这不是最新的吗?

其他MySQL客户端应用程序也有同样的问题。所以这不是我开发语言的问题,而是MySQL服务器的客户机<->服务器协议的问题。(我使用的是Delphi,我的客户端库有3000多行代码。)

我正在寻找与每个MySQL服务器一起工作的解决方案--不仅仅是为我的服务器。所以改变密码存储对我来说不是一个解决方案。

EN

回答 1

Stack Overflow用户

发布于 2018-09-16 09:32:14

对于MySQL 8,默认身份验证现在是SHA-2,您可以在这里看到:https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html

但是,如果您不希望使用它,您可能应该使用它,可以使用以下内容将任何给定用户的默认模式更改为遗留模式:

代码语言:javascript
复制
ALTER USER myUser IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

这将迫使旧的方法,如果你想要一个快速修复。

您(我怀疑)不想开始更改客户端的源代码,因为这样您就有了一个分支版本,这将使服务器上的部署和更新成为一场噩梦。您最好只是等到新版本的客户端软件可用时,才能支持新方法。

MySQL源在这里:https://github.com/mysql

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52351883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档