2012-04-02 69 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