解決MySQL -1251 – Client does not support authentication protocol requested by server

用user帳戶連接mysql數據庫時提示有錯誤如下:
1251 –  Client does not support authentication protocol requested by server; consider upgrading MySQL client
—————————————————————
在更新到 4.1.17 版本的 MySQL 後,發現需要使用 mysqli extension方能正常使用資料庫,否則會出現
1251 –  Client does not support authentication protocol requested by server; consider upgrading MySQL client  的提示,在給 root 加上密碼前還是可以使用 mysql extension的,可是給  root 加上密碼後就出現了上述客戶端版本太低的提示

目前已知解決方法:

先用root登錄MySQL database,執行

mysql>set password for user1@”localhost”=old_password(‘yourPassword’);

原因是因為使用的MySQL 版本中使用了新的密碼驗證機制,這需要客戶端的版本要在4.0以上,原來的密碼函數被改為 old_password(),這樣使用password()生成的密碼在舊的版本上的客戶端就不能用了,而PHP中的MySQL客戶端都是3.23的 (當然,mysqli的擴展除外),問題就在這了。

來源http://community.csdn.net/expert/topicview1.asp?id=3541530

This entry was posted in Programming, Technology. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *