[MySQL]PHP4無法連結MySQL4.1以上版本
- 問題描述:PHP4版本的 mysql client 3.23.58 無法連線 MySQL 4.1 以上版本資料庫(轉貼自NCUCCWiki
- 錯誤訊息: Client does not support authentication protocol requested by server; consider upgrading MySQL client
- 原因:因為 MySQL 4.1 以上版本為了提高安全性,使用了新的密碼驗證機制。如此,MySQL 的 Client Library 需要 4.0 版本以上。但目前在 Client 端所使用的 PHP 版本若為 5.0 以下(如 4.3.9),其內建的 MySQL Library 大都為 3.23,並不支援新版的密碼驗證機制。
- 將 PHP 升級為 5.0版以上
- 切換 PHP 4 的 MySQL extension 為 MySqlLi
- [建議]在 MySQL console 下,更新密碼形式改為 OLD_PASSWORD() (設回原來舊版的密碼驗證機制):
- mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('新密碼') WHERE Host = '主機localhost或IP' AND User = '帳號';
- mysql> FLUSH PRIVILEGES;
沒有留言:
張貼留言