使用 php mysqli_nect 建立與資料庫的連線時,有可能遇到錯誤“連接到資料庫時發生錯誤”,並顯示特定訊息“mysqli_connect():伺服器請求客戶端未知的身份驗證方法 [caching_sha2_password]”。這種情況通常是由於 MySQL 伺服器上配置的身份驗證方法與客戶端期望的不同而發生。
在這種情況下,PHP 腳本使用 caching_sha2_password 驗證方法,該方法需要符合 MySQL 使用者表中定義的憑證。但是,user1 帳號似乎沒有 caching_sha2_password 對應的密碼雜湊。
要解決此問題,您有幾個選項:
為user1 建立caching_sha2_password 密碼雜湊:發出下列SQL 指令為user1 建立caching_sha2_password 雜湊:
ALTER USER 'user1'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
對現有雜湊強制使用caching_sha2_password:如果您無法建立新的密碼雜湊由於帳戶限制,您可以強制對現有雜湊使用caching_sha2_password 。發出下列 SQL 指令:
SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('existing_password');
以上是如何修復「mysqli_connect():伺服器請求客戶端未知的身份驗證方法 [caching_sha2_password]」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!