MySQLi Connect 驗證錯誤:未知方法
嘗試使用mysqli_connect 對MySQL 資料庫進行驗證時,使用者可能會遇到錯誤訊息「The伺服器請求客戶端未知的身份驗證方法。」當客戶端無法識別MySQL Server INI文件中設定的伺服器預設身份驗證插件時,就會發生此錯誤。
要瞭解此錯誤,深入研究相關 MySQL Server INI 檔案設定至關重要。預設情況下,MySQL 使用 caching_sha2_password 外掛程式進行驗證。但是,某些客戶端可能不支援此方法。在提供的程式碼中,預設身份驗證外掛程式設定為 caching_sha2_password。
要解決此問題,可以將驗證外掛程式切換為 mysql_native_password。這種傳統的身份驗證方法與舊客戶端相容。透過修改 INI 檔案指定 default_authentication_plugin=mysql_native_password,伺服器將允許使用 mysql_native_password 方法進行連線。
但是,如果目標是使用 caching_sha2_password 驗證方法,則必須確保用戶端支援此方法。或者,使用者可以修改 MySQL 資料庫以允許特定使用者使用 mysql_native_password 進行連線。這可以使用以下 SQL 命令來實現:
透過將 'mysqlUsername' 和 'mysqlUsernamePassword' 替換為適當的值,可以修改現有使用者以使用 mysql_native_password 驗證方法。或者,可以使用 CREATE USER 語句和 IDENTIFIED WITH mysql_native_password 子句建立新使用者。
總之,「客戶端未知的驗證方法」錯誤可以透過切換到 mysql_native_password 驗證外掛程式或透過修改資料庫以允許特定使用者使用此舊方法進行連線。具體做法取決於客戶端和資料庫系統的安全要求。
以上是MySQLi 驗證錯誤:為什麼我的客戶端顯示「未知方法」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!