服务访问mysql8认证模式报错
mysql8模式认证模式已经修改为了root mysql_native_password,而且其他电脑服务连接数据库都是正常的,只有一台电脑连接服务报错。
日志如下
2018-12-05 16:09:57.8118 | Error | 读数据库连接错误,错误信息:Authentication to host '192.168.62.58' for user 'root' using method 'caching_sha2_password' failed with message: Reading from the stream has failed. MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host '192.168.62.58' for user 'root' using method 'caching_sha2_password' failed with message: Reading from the stream has failed. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Reading from the stream has failed. ---> System.IO.EndOfStreamException: 尝试读取超出流末尾的内容。
在 MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
在 MySql.Data.MySqlClient.MySqlStream.LoadPacket()
在 MySql.Data.MySqlClient.MySqlStream.LoadPacket()
在 MySql.Data.MySqlClient.MySqlStream.ReadPacket()
在 MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
在 MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationFailed(Exception ex)
在 MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
在 MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset)
在 MySql.Data.MySqlClient.NativeDriver.Authenticate(String authMethod, Boolean reset)
在 MySql.Data.MySqlClient.NativeDriver.Open()
在 MySql.Data.MySqlClient.Driver.Open()
在 MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
在 MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
在 MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
在 MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
在 MySql.Data.MySqlClient.MySqlPool.GetConnection()
在 MySql.Data.MySqlClient.MySqlConnection.Open()
看起来是认证模式的问题,那么问题来了,为什么只有这台电脑连接mysql认证模式是caching_sha2_password。而且通过nactive是可以连接数据库的