不支持身份验证方法'mysql_old_password'



更新了 mysql 连接器。网络到版本6.6.4提供程序与Visual Studio 2012集成,但是现在当我尝试配置与edmx的连接时,出现错误"不支持身份验证方法'mysql_old_password'"。

当您连接到密码以旧密码格式(http://dev.mysql.com/doc/refman/5.0/en/old-client.html)存储其密码的MySQL数据库时,将显示此错误消息。较新的MySQL客户端不允许使用旧密码格式与数据库建立连接,因为它不太安全。

有些人建议在MySQL服务器上设置old_passwords=1,但我认为最好将密码升级到新的密码格式。然后可以再次设置 MySQL 连接,您的数据库将得到更好的保护。

您可以在此处阅读有关如何将MySQL密码从旧格式升级到新格式的信息:http://code.openark.org/blog/mysql/upgrading-passwords-from-old_passwords-to-new-passwords

MysqL Connector/NET 6.6.x(从6.6.2开始)放弃了对旧密码样式身份验证的支持(由于不安全而被弃用,并且有记录的攻击方法)。

尝试将其与旧密码样式帐户一起使用时,您将获得算术溢出错误(当然,更友好的错误会更好)。

如此错误报告中所述:http://bugs.mysql.com/bug.php?id=66647对于连接器/NET,您必须使用本机 4.1 样式的密码(即 old_passwords=0)。

另一个选项是Windows样式身份验证,它也受支持,但您需要一些MySql商业版(标准MySql服务器不支持Windows身份验证)。

Mysql_old_password是临时的,在4.1.1之后立即用于较旧的MySQL客户端,以向4.1.1之前的MySQL服务器进行身份验证。

mysql服务器中设置var old_passwords=1 my.ini应该启用此功能。

相关内容

最新更新