Mysql 4以上版本密碼算法不同導致“Client does not support authentication protocol requested by server”錯誤

以前一直用Mysql 3.23.44,PHP5正式發佈後,喜歡嚐鮮的我忍不住了,用了幾天PHP5,才感覺我的Mysql太弱,於是乎升級我的Mysql,心一橫,最新的Mysql 5.0.1,嘿嘿,不信數據庫弱。

安裝很順利,登錄到mysql

G:/Mysql/bin>mysql -uroot

mysql>......

然後刪除一些不用的帳號,只留下了一個root帳號。

更新root密碼:

mysql>update user set password=password('password') where host='localhost' and user='root';

成功!

退出並重新啓動Mysql服務。

接下來配置phpMyadmin的Config.inc.php

修改Mysql用戶名、密碼

打開phpMyadmin,登錄:

結果很意外竟然彈出錯誤信息:

Client does not support authentication protocol requested by server;

意思好像是需要我升級客戶端,我徹底失望了,我以爲Mysql 5.0.1也和3.23.44一樣好安裝。

後來,我用Google搜索錯誤信息中的部分內容,搜索到了Mysql的官方網站,一看,明白了,原來是password算法的問題,因爲5.0.1版Mysql的password算法和3.23.44的算法不一樣了

(原文地址:http://dev.mysql.com/doc/mysql/en/Old_client.html

採取官方網站的解決辦法,一次搞定,嘿嘿

mysql>SET PASSWORD FOR
         >'root'@'localhost' = OLD_PASSWORD('newpassword');

寫此文章,僅希望有同樣問題的朋友能儘快解決此問題。

還有一個辦法,也可以通過升級Mysql的客戶端解決此問題,PHP5新引入的Mysqli就可以。如果使用PHP4連接Mysql4以上數據庫,則用本文的方法來解決。

歡迎網友交流經驗。
QQ:47974924
MSN:[email protected]
Email:[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章