無法使用舊版驗證建立與MySQL 4.1 的連線
嘗試連線到bluesql.net 託管的MySQL 資料庫時,您可能會遇到以下問題:遇到錯誤,指示無法使用4.1 之前的MySQL 版本中使用的過時身份驗證機制建立連線。此問題源自於後續 MySQL 版本中實作較新的身份驗證方法,而較舊的密碼方案可能仍然存在,可能會阻礙與某些應用程式的相容性。
在您的情況下,您正在使用 PHP 5.3 和 mySQLi 擴充功能( new mysqli(...)) 連接到資料庫。要在不降級PHP 版本的情況下解決此問題,您應該考慮以下步驟:
驗證舊密碼架構使用
確定您正在嘗試的MySQL 伺服器是否為透過執行下列SQL 查詢將to access 設定為使用舊密碼模式:
SHOW VARIABLES LIKE 'old_passwords'
如果查詢結果顯示“old_passwords,Off”,則表示伺服器已配置為使用舊密碼密碼架構。
識別使用舊密碼的帳號
檢查 mysql.user 表以識別仍使用舊密碼的使用者帳號。執行以下查詢:
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
使用舊密碼的帳戶的密碼長度為“16”,而使用新密碼的帳戶的密碼長度為“41”。
為受影響的帳戶設定新密碼
對於使用舊密碼識別的每個帳戶,使用以下命令設定新密碼:
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword'); FLUSH Privileges;
取代「使用者」和「主機」 " 使用從先前查詢中取得的值。
驗證密碼更新
重新檢查更新帳戶的密碼長度。現在更新帳戶的密碼長度。現在更新帳戶的密碼長度。現在應該顯示“41”,表明正在使用新的密碼架構。
以上是為什麼我無法使用舊版驗證連線到 MySQL 4.1?的詳細內容。更多資訊請關注PHP中文網其他相關文章!