如何修正「mysqlnd 無法使用舊式驗證連線到 MySQL 4.1」錯誤?

Patricia Arquette
發布: 2024-11-04 06:25:02
原創
852 人瀏覽過

How to Fix

舊驗證的MySQL 連線錯誤

遇到錯誤訊息「mysqlnd 無法使用舊式驗證連線到MySQL 4.1」表示有相容性問題嘗試連接到使用過時密碼方案的MySQL 資料庫。要解決此問題,確定資料庫伺服器是否配置為使用舊密碼架構至關重要。

檢查服務器配置

執行以下SQL 查詢:

<code class="sql">SHOW VARIABLES LIKE 'old_passwords'</code>
登入後複製

了解結果

  • 如果結果為old_passwords,Off,則伺服器配置為使用新的驗證例程。使用者密碼可能以舊格式存儲,但伺服器將使用新例程進行身份驗證。
  • 如果結果為 old_passwords,On,則伺服器預設為使用舊的驗證例程。在這種情況下,將使用舊密碼方案進行身份驗證。

故障排除與解決方法

要解決問題,請依照下列步驟操作:

  1. 檢查使用者密碼格式:驗證mysql.user表中使用者的密碼長度。長度為 16 個字元表示舊密碼,長度為 41 個字元表示新密碼。
  2. 設定新密碼(如果需要):如果使用者的密碼是舊密碼格式,使用下列指令設定新密碼:
<code class="sql">SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');</code>
登入後複製
  1. 刷新權限:執行更新資料庫的權限:
<code class="sql">FLUSH Privileges;</code>
登入後複製
  1. 重新驗證密碼長度:在mysql.5.檢查用戶的密碼長度。現在應該是 41 個字符,表示正在使用新的密碼格式。
  2. 重新建立連線:完成這些步驟後,嘗試使用客戶端(例如 mysqlnd)重新連線到資料庫。連接應該會成功。

其他資源

有關更多信息,請參閱以下MySQL 文件:

  • http: //dev.mysql .com/doc/refman/5.0/en/old-client.html
  • http://dev.mysql.com/doc/refman/5.0/en/password-hashing.html
  • http://dev.mysql.com/doc/refman/5.0/en/set-password.html

以上是如何修正「mysqlnd 無法使用舊式驗證連線到 MySQL 4.1」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!