我需要通过asp.net 连接到MYSQL 数据库。我正在使用 MySQL Connector 与数据库建立连接,但在执行此操作时出现此错误:
Authentication with old password no longer supported, use 4.1 style passwords.
最佳答案
从 MySQL 4.1 及更高版本开始,它们使用与早期版本不兼容的新协议(protocol)。这就是为什么当您将服务器从早期版本升级到 4.1 或更高版本时,您会收到身份验证错误消息。
如果您需要在 4.1 版本之前和之后使用两个客户端连接数据库,则必须存储两个密码。一种是旧方式,一种是新方式。
您可以使用新方式设置用户密码:
SET PASSWORD for <username> = PASSWORD('new password')
SET PASSWORD FOR 'steve'@'10.15.2.67' = PASSWORD('my secure password');
如果需要,您还可以使用旧方式设置密码:
SET PASSWORD for <username> = OLD_PASSWORD('new password')
SET PASSWORD FOR 'steve'@'10.15.2.67' = OLD_PASSWORD('my secure password');
MySQL manual中有一个很棒的页面其中将详细说明该过程
实际上,如果服务器版本高于 4.1,您仍然可以使用旧密码方法,但不建议这样做。
为此,您可以使用 --old-passwords 启动服务器选项。
因此,要么服务器已更新并且您正在使用旧客户端,要么您已更新客户端(现在使用新密码系统)并且连接到低于 4.1 的服务器
关于asp.net - 无法连接到 Asp.Net 中的远程 MySql 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15295541/