从流读取失败 - mysql_native_password 错误

Shy*_*ikh 8 .net c# mysql sql database

我间歇性地遇到以下错误。

使用方法“mysql_native_password”对用户“root”的主机“127.0.0.1”进行身份验证失败并显示消息:从流中读取失败。

它随时都会出现,而我已经无能为力了。我还发布了一个关于 MySQL 错误的错误,并且解决方案在任何方面都没有证明是有效的。我希望你们能帮助我。

这是 MySQL 错误的详细信息链接:似乎永远不会消失

更多细节:我有一个客户端 - 服务器系统,但是当服务器系统上的本地运行应用程序尝试运行查询时,此错误发生在服务器系统(安装 MySQL 数据库的地方)上。

我已经在这里提出一个问题但已经死了。只是一个警告,我认为跳过名称解析解决了这个问题,但它似乎只是降低了频率。希望这次有人能帮助我。

编辑:MySQL 人员说,如果长时间未使用,则在客户端服务器设置服务器中可能会关闭连接。但是,这不是我面临的问题,因为我每次要执行查询时都会创建一个新连接。我在关于 MySQL 错误的最后一条评论中明确指出了这一点。

小智 9

伙计们,我试过这个:连接字符串中的“SslMode=None”,但如果你需要 SSL,那么请阅读:http ://www.voidcn.com/article/p-phfoefri-bpr.html

这是一个有效的示例连接字符串:

connectionString="Server=192.168.10.5;Database=mydata;Uid=root;Pwd=****;SslMode=None" 
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助


Nya*_*ock 5

此问题是由 Ssl 引起的。

解决方案 1:不需要 SSL。由于它是由 SSL 引起的,因此我们可以通过在连接字符串中附加“SslMode=None”来关闭 SSL。

方案二:需要SSL,服务器身份很重要,需要验证。服务器需要互联网连接来进行证书验证。请注意,加密 API 不会更新每个进程的 CTL。CTL 在操作系统级别进行维护。一旦您连接服务器并与服务器建立 SSL 数据库连接,CTL 将自动更新。然后您可以断开互联网连接。再次注意,CTL 有其到期日期,之后 Windows 需要再次更新它。这可能会在几个月后发生。

解决方案 3:需要 SSL,但服务器身份并不重要。通常,在这种情况下,SSL 仅用于加密网络传输。我们可以关闭CTL更新:

按 Win+R 打开“运行”对话框 输入“gpedit.msc”(不带引号)并按 Enter 在“本地组策略编辑器”中,展开“计算机配置”,展开“管理模板”,展开“系统”,展开“Internet 通信管理”,然后单击“Internet 通信设置”。在详细信息面板中,双击“关闭自动根证书更新”,单击“启用”,然后单击“确定”。此更改将立即生效,无需重启。

http://www.voidcn.com/article/p-phfoefri-bpr.html


Har*_*rry 4

我在使用 Amazon 的 MySQL RDS 实例时经常遇到此错误。以及大多数多可用区实例。

  • 比较一下笔记看看其他人是否也大多遇到 RDS 的这个问题会很有趣?

众所周知,亚马逊严重依赖“快速”DNS 更改来切换 ELB 等内容。我想知道RDS是否也发生同样的情况?或者其他一些 AWS 内部切换会扰乱池中的空闲连接。

这可以解释为什么 Oracle 开发人员无法重现它并且不认为它是一个问题。

无论如何,我必须处理它并在打开连接时添加重试逻辑。