2012-04-02 51 views
0

当我试图使用MySQL工作台工具(mysqldbexportmysqldbimport等),我总是收到此错误信息:MySQL工作台 - 旧(不安全的)密码错误认证

>mysqldbexport --server=user:[email protected]_address:3006 database 
# Source on ip_address: ... ERROR: Cannot connect to the Source server. 
Error Authentication with old (insecure) passwords is not supported: http://dev. 
mysql.com/doc/refman/5.1/en/password-hashing.html 

远程服务器与运行--old_passwords选项和mysql中的密码。用户表是使用旧的散列算法(短密码)创建的。

有没有人有这种情况?我该如何解决它?

  • 远程MySQL版本:5.0.77
  • MySQL工作台版本:5.2.38 CE版本8753

回答

1

我敢肯定的是,MySQL工作台工具将不支持使用旧密码登录格式。我认为这里的正确方法是将用户密码升级到新格式,从而利用更高的安全性。

我没有这样做,但这里是从您发布的链接有帮助的评论:

如果您正在使用旧密码()函数,并要设置的 MySQL的计划,新的密码系统。

,不可能登录到您的控制台的mysql.exe与

的mysql -u根-p your_password(!),你必须空白登录 密码来访问你的mysql控制台。

在Windows上你必须键入以下内容(请确信, mysql_fix_privilege_tables.sql是在你的bin \目录中,你们将会 在脚本中找到该脚本\ MySQL安装的文件夹中。

的MySQL ü根--force的MySQL < mysql_fix_privilege_tables.sql

问候thE_iNviNciblE

试一下,然后重新启动服务器,而不--old_passwords 选项。您应该考虑将MySQL服务器升级到更新的版本,因为MySQL团队不再支持MySQL 5.0分支(它们不会成为主动维护例程的一部分:没有新的修补程序等)。

希望这会有所帮助。

+0

谢谢你,塞尔吉奥。这正是解决方案。另外从MySQL论坛,我收到了以下答案: _底层连接器/ Python不支持旧认证协议,永远不会。 [...] 如果您删除了--old-passwords,认证应该仍然可以正常工作。然后创建一个用户,它将使用较新的安全密码散列。然后,该用户可以用于像mysqldbexport这样的工具(确保它具有适当的权限)._ – GregD 2012-04-03 05:14:11