進階搜尋
找商品說明
價錢: -
此分類無可選擇屬性
請輸入 javascript 語法
記事本   >>  網站技術
[快答] PHP 連線 mysql 出現 The server requested authentication method unknown to the client
錯誤訊息: The server requested authentication method unknown to the client
環境: 升級 php 5.5 以上,mysql 使用舊資料
原因:mysql 新增使用者時,使用 old_password 儲存使用者密碼,特徵: 密碼長度 16
因為 php 5.5 使用新密碼連線 ( 密碼長度 41 ),所以 php 無法連線資料庫。

解法:
  1. 可以修改 mysql  設定
    在不重新啟動 mysql 狀態下的方法
    #mysql -u root -p

    //產生新版本密碼
    mysql > select password('使用者登入mysql密碼');

    //查詢舊版本密碼
    mysql > select old_password('使用者登入mysql密碼');

    //把使用者的舊密碼 改成 新密碼
    mysql > update  mysql.user set `Password` = '剛剛產生的新版密碼' where User = '使用者'  AND `Password` = '舊版密碼' ;

    //更新權限
    mysql > FLUSH PRIVILEGES;

  2. 不能更新 mysql 資料庫的方法
    不能更新 mysql . user 表的話,就只能降 php 版本
    確認 5.2.x 、 5.3.x 可直接使用舊版密碼。

完成。

會員登入