程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 新版Mysql密碼算法不同導致

新版Mysql密碼算法不同導致

編輯:關於MYSQL數據庫
 新版MySQL密碼算法不同導致“ClIEnt does not support authentication protocol requested by server”錯誤

MySQL4.1.7密碼算法不同,你可以做如下選擇:
1)使用PHP5,用php_MySQLi.dll,而不是以前的PHP_MySQL.dll
2)將MySQL的密碼改用原來的那套算法(本文介紹)

以前一直用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');

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


今天又用一種方法更改了密碼,因為現在才知道以前的命令用錯了,old-passWord要直接輸入才對!
今天的方法是,update MySQL.user set password = old_passWord('newpwd')
where host = 'localhost' and user = 'root';
然後flush priviledges;
ok,重新登陸,搞定!
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved