1. 程式人生 > >MySQL 版本錯誤處理 (Client does not support authentication protocol requested by server)

MySQL 版本錯誤處理 (Client does not support authentication protocol requested by server)

MySQL-Front  
linux_boot 我在用root帳戶連線mysql資料庫時提示有錯誤如下:1251  -  Client  does  not  support  authentication  protocol  requested  by  server;  consider  upgrading  MySQL  client  我的資料庫是可以用。但匿名帳戶卻可以連線  

---------------------------------------------------------------  
在更新到  4.1.17  版本的  MySQL  後,發現需要使用  MySQLi  擴充套件方能正常使用資料庫,否則會出現  1251  -  Client  does  not  support  authentication  protocol  requested  by  server;  consider  upgrading  MySQL  client  的提示,這個很納悶,我沒有研究具體的問題,只是切換到  MySQLi  擴充套件,其實在給  root  加上密碼前還是可以使用  MySQL  擴充套件的,可是給  root  加上密碼後就出現了上述客戶端版本太低的提示。  


  目前已知解決方法:  

先用root登入MYSQL伺服器,執行  

mysql>set  password  for  [email protected]"localhost"=old_password('yourPassword');  

  原因是因為你使用的mysql伺服器版本中使用了新的密碼驗證機制,這需要客戶端的版本要在4.0以上,原來的密碼函式被改為old_password();,這樣使用password()生成的密碼在舊的版本上的客戶端就不好使了,而PHP中的MYSQL客戶端都是3.23的(當然,mysqli的擴充套件除外),問題就在這了。