MySQL身份验证方法错误

时间:2012-12-16 13:42:51

标签: c# mysql authentication plugins connector

使用官方MySQL .NET Connector(6.6.4.0,最新的GA版本),我试图连接到我的网站的数据库,但没有运气。

尝试打开连接时会发生此异常。

  

任何可用插件都不支持身份验证方法'mysql_old_password'。

我的连接字符串如下所示:

Connection = new MySqlConnection( "Server=" + sHost + ";User Id=" + sUser + ";Port=" + nPort + ";" +
                                                    "Password=" + sPassword + ";Database=" + sDatabase );

我尝试过使用两台服务器,但我只是在HostGator托管的那台服务器上遇到了问题,另一台是在我们自己的Windows服务器上,而且工作正常。

HostGator服务器的MySQL信息:

  • 服务器:通过UNIX套接字的Localhost
  • 服务器版本:5.5.23-55
  • 协议版本:10
  • MySQL charset:UTF-8 Unicode(utf8)

Windows服务器的MySQL信息:

  • 服务器:通过TCP / IP的localhost
  • 软件版本:5.1.66-community - MySQL社区服务器(GPL)
  • 协议版本:10
  • MySQL charset:UTF-8 Unicode(utf8)

我开始怀疑这是否是我无法解决的问题(不离开HostGator)。如果不是,那么不同的.NET连接器会是最好的选择吗?

如果您需要有关这两种服务器的更多信息,请告诉我们!

提前致谢。 :)

1 个答案:

答案 0 :(得分:0)

当您连接到以旧密码格式(http://dev.mysql.com/doc/refman/5.0/en/old-client.html)存储密码的MySQL数据库时,会显示此错误消息。较新的MySQL客户端不允许使用旧密码格式与数据库建立连接,因为它不太安全。可能最好的方法是将密码升级为新的密码格式。然后可以再次设置MySQL连接,并且您的数据库将得到更好的保护。

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