【问题标题】:MySQL Reading from stream failedMySQL 从流中读取失败
【发布时间】:2015-06-10 05:33:01
【问题描述】:

我间歇性地遇到以下错误。它是通过在 mysql 服务器设置中使用“跳过名称解析”选项来解决的。

但是,根据网上的许多建议,使用 127.0.0.1 应该可以解决问题。但这也无济于事,您能否建议我一个解决方法或一个 SQL 命令,通过它我可以检查“跳过名称解析”选项。

Error 1: 0
Authentication to host '127.0.0.1' for user 'root' using method 'mysql_native_password' failed with message: Reading from the stream has failed.

Stack Trace:
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationFailed(Exception ex)
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset)
at MySql.Data.MySqlClient.NativeDriver.Authenticate(String authMethod, Boolean reset)
at MySql.Data.MySqlClient.NativeDriver.Open()
at MySql.Data.MySqlClient.Driver.Open()
at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
at MySql.Data.MySqlClient.MySqlPool.GetConnection()
at MySql.Data.MySqlClient.MySqlConnection.Open()

【问题讨论】:

  • 只是为了彻底:您是否已经从命令提示符登录到您的 mysql 数据库,只是为了查看您的用户名/密码是否正常并且数据库本身是否健康?
  • 是的,这个错误是随机出现的。
  • 我们在生产上也面临同样的问题。请问有哪位可以帮忙吗?

标签: c# mysql sql visual-studio-2010


【解决方案1】:

这是更新到 MySQL Server 8.+ 时发生的常见错误。 默认情况下,MySQL 8 使用caching_sha2_password,它是 mysql_native_password 的升级身份验证插件。

解决此问题的一种方法是专门将用户密码的插件设置为caching_sha2_password

CREATE USER 'sha2user'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password'

更新 MySQL 服务器以接受 mysql_native_passwords。

[mysqld]
default_authentication_plugin=mysql_native_password

【讨论】:

    猜你喜欢
    • 2014-12-26
    • 2019-09-10
    • 2015-07-23
    • 1970-01-01
    • 2020-04-09
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多