1

使用官方 MySQL .NET 连接器(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 字符集:UTF-8 Unicode (utf8)

Windows 服务器的 MySQL 信息:

  • 服务器:通过 TCP/IP 的本地主机
  • 软件版本:5.1.66-community - MySQL Community Server (GPL)
  • 协议版本:10
  • MySQL 字符集:UTF-8 Unicode (utf8)

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

如果您需要有关任一服务器的更多信息,请告诉我!

提前致谢。:)

4

1 回答 1

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

于 2013-02-01T09:35:39.483 回答