首頁  >  文章  >  資料庫  >  為什麼我無法使用 PHP 5.3.0 連接到遠端 MySQL 資料庫?

為什麼我無法使用 PHP 5.3.0 連接到遠端 MySQL 資料庫?

Susan Sarandon
Susan Sarandon原創
2024-11-02 17:53:03310瀏覽

Why Can't I Connect to My Remote MySQL Database With PHP 5.3.0?

MySQL PHP 不相容:解決神秘錯誤

透過PHP 5.3.0 連接到遠端MySQL 資料庫時,使用者可能會遇到一個一個資料庫時,使用者可能會遇到一個神秘的錯誤錯誤,導致連線失敗。這些警告訊息通常表示 OK 封包的預期長度不匹配以及過時的身份驗證機制。

經過調查,發現根本問題源自於 MySQL 帳號的密碼長度。如果密碼長度為 16 個字符,則可能是舊密碼哈希,與 PHP 5.3.0 使用的 mysqlnd 驅動程式不相容。

要解決此問題,請使用以下命令重設受影響的 MySQL 帳戶的密碼:新的。這可以透過執行以下 SQL 語句來完成:

SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')

作為潛在的替代方案,檢查 MySQL 伺服器是否已配置為預設使用或建立舊密碼。這可以透過檢查伺服器設定來驗證。此外,在有問題的伺服器上執行以下查詢將提供進一步的見解:

SELECT
  Length(`Password`),
  Substring(`Password`, 1, 1)
FROM
  `mysql`.`user`
WHERE
  `user`='username'

將「使用者名稱」替換為 mysql_connect() 中使用的實際帳號名稱。傳回的值將指示密碼的長度和第一個字符,提供有關錯誤根本原因的更多資訊。

以上是為什麼我無法使用 PHP 5.3.0 連接到遠端 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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