您的網站程序調試完成并上傳到云虛擬主機后,連接云虛擬主機數據庫時,提示“cannot connect to MySQL 4.1+ using the old insecure authentication”錯誤。本文介紹這種情況的可能原因和解決方案。
問題現象
報錯信息如下。
mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD(‘your_existing_password’). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file
可能原因
從PHP 5.3版本開始,不支持使用老舊的16位密碼連接MySQL 4.1+版本的數據庫(云虛擬主機提供的MySQL最低版本為5.1,滿足條件)。若您的PHP版本為5.3+,且使用了16位的MySQL密碼就會出現此錯誤。
解決方案
您需要將數據庫加密模式設置為41位加密,以滿足PHP 5.3+、MySQL 4.1+的運行要求。
此要求在主機控制臺的
頁面有提醒,敬請留意。將加密模式設置為41位加密的方法如下。
在單擊對應數據庫的重置密碼。 頁面,
在彈出的數據庫密碼重置對話框,點擊確認。
按照提示輸入新密碼。將其設為網站程序配置文件中的數據庫密碼,加密模式設置為41位。
點擊確認。
文檔內容是否對您有幫助?