MySQL连接报错:未知数据库'mysql57',已尝试多方案仍未解决
数据库连接报错排查(Unknown database 'mysql57')
错误信息
Unhandled exception. MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host '192.168.0.31' for user 'username' using method 'mysql_native_password' failed with message: Unknown database 'mysql57' ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Unknown database 'mysql57' at MySql.Data.MySqlClient.MySqlStream.ReadPacket() at MySql.Data.MySqlClient.NativeDriver.ReadPacket() at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket() 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()
问题说明
- 报错提示数据库
mysql57不存在,但实际该数据库已创建 - 已尝试多种解决方案,均未解决问题
- 可提供源码项目用于排查
排查建议
- 核对连接字符串库名拼写:确认代码中连接字符串的数据库名称与实际创建的完全一致,注意大小写(Linux环境下MySQL默认区分库名大小写,Windows不区分)。
- 验证账号权限:用连接的
username登录MySQL服务器,执行SHOW DATABASES;,确认该账号能看到mysql57。若看不到,执行授权命令:GRANT ALL PRIVILEGES ON mysql57.* TO 'username'@'应用服务器IP'; FLUSH PRIVILEGES; - 确认连接目标实例:检查应用连接的
192.168.0.31是否为创建数据库的服务器实例,对比服务器的IP、端口配置是否匹配。 - 排查驱动兼容性:当前
MySql.Data驱动版本可能与MySQL服务器不兼容,尝试更新或降级驱动至匹配版本。 - 查看MySQL错误日志:登录服务器查看MySQL错误日志,里面可能包含更详细的报错细节,比如权限验证、库名解析的具体问题。
内容的提问来源于stack exchange,提问作者bartaba
相关产品推荐
相关产品推荐

