首頁 >資料庫 >mysql教程 >如何修復 MySQL'mysqlnd 無法使用舊式驗證連線到 MySQL 4.1”錯誤?

如何修復 MySQL'mysqlnd 無法使用舊式驗證連線到 MySQL 4.1”錯誤?

Susan Sarandon
Susan Sarandon原創
2024-12-03 01:18:111017瀏覽

How to Fix MySQL

透過已棄用的驗證解決MySQL 連線問題

當嘗試連線到bluesql.net 等平台上託管的MySQL 資料庫時,使用者可能會遇到「連線錯誤(2000) mysqlnd 無法使用舊式驗證連線到MySQL 4.1」錯誤。出現此錯誤的原因是較舊的 MySQL 版本和較新的版本使用的身份驗證協定之間存在差異,這些協定同時支援新舊密碼模式。

要解決此問題,必須確定伺服器是否正常預設情況下配置為使用舊密碼架構。這可以透過執行 SQL 查詢“SHOW VARIABLES LIKE 'old_passwords';”來驗證。從命令列或使用基於 GUI 的 MySQL 管理工具。如果查詢傳回“old_passwords,Off”,則現有使用者帳戶可能會使用舊密碼。

可以透過檢查「mysql.user」表來確認將使用哪個驗證例程。使用舊密碼的帳戶的密碼長度為“16”,而使用新密碼的帳戶的密碼長度為“41”。若要設定新密碼,請使用「SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');」查詢,將「User」和「Host」替換為先前查詢中獲得的值。

密碼更新後,執行「FLUSH Privileges;」詢問。再次使用相同的「mysql.user」表查詢驗證密碼長度;現在應該是「41」。此變更將允許使用 mysqlnd 的客戶端成功連接到 MySQL 伺服器。

有關更多信息,請參閱以下連結中的官方 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)

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn