【问题标题】:getting error "Authentication with old password no longer supported, use 4.1 style passwords." while creating WCF service of hosted MySQL database收到错误“不再支持使用旧密码进行身份验证,请使用 4.1 样式密码。”在创建托管 MySQL 数据库的 WCF 服务时
【发布时间】:2013-04-18 05:10:25
【问题描述】:

我在服务器上托管了 MySQL 数据库。我想创建该数据库的 WCF Web 服务。实际上我想在 Windows Store App 中使用 WCF 服务。我正在关注这些文章。

Using an Entity Framework Entity as a Windows Forms Data Source

Making a Connection

但我收到错误 Authentication with old password no longer supported, use 4.1 style passwords. 然后搜索 Stack Overflow 并得到 this 解决方案,但它也不适合我。

请指导我解决这个问题。

PS:请不要对这个问题投反对票,我已经在 Stack Overflow 中搜索并搜索过,但没有得到解决方案:(

更新 1

我已经通过 phpMyAdmin 在 SQL 查询文本框中应用了命令。我也关注了这个Mysql password hashing method old vs new,但得到了与"you have no SUPER privilege."相同的错误

【问题讨论】:

  • 您是如何发出这些命令的? (mysql 控制台或一些 GUI?)另外,你连接的 MySQL 服务器的版本是什么?
  • 我应用了来自 phpMyAdmin 的命令。我首先打开数据库,然后从 SQL 查询文本框中应用命令。服务器版本在 5.5.28-29.3-log
  • 看来我有一个错误的假设,认为从 PhpMyAdmin 发出 SET SESSION old_passwords=0; 可能会导致问题。我刚刚测试过,它真的很好用。请发出以下命令:SELECT user, host, password FROM mysql.userpassword 列中的所有值都应以*(星号)开头,是这样吗?
  • 我在发出命令SELECT user, host, password FROM mysql.user时收到错误SELECT command denied to user 'XXXXXX'@'localhost' for table 'user',请更新1。
  • 那么恐怕你会要求被授予 SUPER 权限,或者要求管理员为你运行这些命令。我假设您在运行第一个 SET PASSWORD 命令时收到了警告,不是吗?

标签: mysql wcf entity-framework


【解决方案1】:

尽管我尝试了所有提出的建议,但我并没有像其他回复的人那样设法解决问题。最后事实证明,我的数据库所在的服务器自 3.5.5 版以来没有更新 phpMyAdmin,目前在 4.1.14 版中到处都在使用,这是一个问题。解决方案是将您的主机 phpMyAdmin 或您自己的 mySQL 更新回早期版本,以便继续在远程数据库上工作。您可能需要这些知识来解决出现的一些疑问。 :)

【讨论】:

    猜你喜欢
    • 2013-03-24
    • 1970-01-01
    • 2014-06-25
    • 2020-06-24
    • 2018-11-27
    • 2014-03-08
    • 1970-01-01
    • 2017-05-19
    相关资源
    最近更新 更多