如何修復您網站上的“建立數據庫連接時出錯”消息

已發表: 2022-07-26

“建立數據庫連接時出錯”是 WordPress 網站所有者可能遇到的最常見問題之一。 除了成為最常見的 WordPress 錯誤消息之一之外,它還贏得了其中最嚴重的錯誤消息之一的地位,如果某些事情中斷了 WordPress 與其數據庫通信的能力,該網站將完全無法訪問。

但是當它說建立數據庫連接時出錯是什麼意思? 您的 WordPress 網站是一個動態的、數據庫驅動的應用程序,這意味著如果無法從數據庫中檢索到所請求的數據,WordPress 將顯示一條錯誤消息,直到解決基本問題並建立成功的連接。

按照我們的 WordPress 數據庫連接錯誤綜合指南,了解如何逐步修復您網站上的“建立數據庫連接時出錯”消息。

WordPress 數據庫及其在內容渲染中的作用

內容渲染可以描述為將請求的內容交付給您的網站訪問者的過程。 WordPress 抽象了該過程的複雜性,這意味著您作為網站所有者幾乎不需要干預它的工作方式以使您的 WordPress 網站正常工作。

您的 WordPress 數據庫存儲您創建的絕大多數內容,包括帖子、頁面和其他一些允許 WordPress 生成動態網頁的數據。 所有這些信息都需要從數據庫中加載並由 WordPress 進一步處理以創建一個 HTML 文件,然後將其發送給訪問者。

PHP 使用稱為數據庫驅動程序的特殊擴展,使用 WordPress 配置文件中提供的憑據建立與 WordPress 數據庫的連接。 當提供的憑據不正確、缺少數據庫驅動程序或數據庫服務器沒有響應時——所有這些問題都會中斷內容呈現,從而導致 WordPress 網站上顯示“建立數據庫連接時出錯”消息。

建立數據庫連接時出錯消息

在 WordPress 中建立數據庫連接的錯誤是什麼?

“建立數據庫連接時出錯”是 WordPress 生成的錯誤消息,用於通知您在內容呈現期間未能成功建立與 WordPress 數據庫的連接。

由於 WordPress 嚴重依賴執行數據庫查詢以檢索請求的數據以生成任何網頁的能力,因此“建立數據庫連接時出錯”是一個影響整個網站的錯誤,包括管理區域。 這意味著當 WordPress 遇到數據庫連接問題時,您可以使用的工具數量非常有限,可以讓您的網站重新上線。

建立數據庫連接時出錯

建立數據庫連接錯誤的 5 個主要原因

您網站上的“建立數據庫連接時出錯”消息表明 WordPress 在嘗試連接到其數據庫時遇到了嚴重問題。 正如我們所討論的,在所有階段都可能遇到問題——從 PHP 發送初始請求到實際與數據庫服務器通信,再到提供身份驗證信息以訪問數據庫。

這就是為什麼將潛在問題確定為解決 WordPress 數據庫連接問題的關鍵部分非常重要的原因。 在不知道導致問題的原因的情況下,簡單地應用已知的修復程序可以讓您遠離解決問題並恢復 WordPress 網站的功能。

WordPress中“建立數據庫連接錯誤”背後的五個主要原因包括:

  • wp-config.php 中提供的 WordPress 數據庫憑據不正確。
  • WordPress 數據庫用戶沒有足夠的權限
  • 您的 WordPress 數據庫已損壞。
  • 您的數據庫服務器遇到問題。
  • 您的 WordPress 網站被黑客入侵。

原因 1:您在 wp-config.php 中的 WordPress 數據庫憑據不正確

WordPress 使用 wp-config.php 文件中指定的數據庫憑據來建立與其數據庫的連接。 使用四個主要常量提供建立數據庫連接所需的信息:

  • DB_NAME。 表示您的 WordPress 數據庫的名稱。
  • DB_USER。 定義已被授予訪問 WordPress 數據庫的 MySQL/MariaDB 用戶。
  • DB_PASSWORD。 存儲 WordPress 數據庫用戶密碼的值。
  • 數據庫主機。 標識 WordPress 將向其發送連接請求的數據庫服務器。

顧名思義,常量用於存儲在腳本執行期間無法更改的信息。 如果上述存儲在 wp-config.php 文件中的任何信息不正確,WordPress 將無法成功建立數據庫連接。 這將不可避免地導致您的 WordPress 網站上顯示“建立數據庫連接時出錯”消息。

由於 WordPress 除了簡單地讀取您在主 WordPress 配置文件中放置的值之外,沒有其他方式獲取數據庫憑據,因此確保在對它進行任何更改後所有信息都在此處更新非常重要。 它可以包括將網站遷移到新服務器、克隆或只是更改 WordPress 數據庫用戶的密碼以防萬一。

原因 2:您的 WordPress 數據庫用戶沒有足夠的權限

當 WordPress 與其數據庫建立連接時,它會以 wp-config.php 文件中指定的數據庫用戶身份進行身份驗證。 但是,即使您提供的密碼正確,並且數據庫服務器接受了連接,如果沒有足夠的權限,它也不會允許用戶訪問任何信息。

每個 MySQL/MariaDB 數據庫用戶都有一個已被授予訪問權限的數據庫列表。 此外,數據庫權限定義了用戶可以對數據庫數據執行的操作。

WordPress 要求數據庫用戶能夠執行各種數據庫操作,包括查看、添加和刪除表中的數據。 如果用戶沒有足夠的權限,您將在您的網站上看到“建立數據庫連接時出錯”消息。

原因 3:您的 WordPress 數據庫已損壞

數據庫損壞(表示 WordPress 數據庫中的某些數據已損壞或刪除的情況)是在您的網站上建立數據庫連接錯誤的另一個原因。

您的 WordPress 數據庫數據作為磁盤上的文件存儲在系統中,當需要執行某些操作時這些文件會被加載。 當某些文件損壞時,您的數據庫服務器無法加載數據庫,導致 WordPress 完全無法訪問它。 當刪除重要的 WordPress 數據庫表之一時也會發生同樣的情況,導致 WordPress 無法加載您的網站。

發生這種情況的原因有很多,從硬件或軟件故障導致的數據庫服務器問題到人為錯誤甚至黑客攻擊——所有這些都會導致數據丟失或重要信息的不正確表示。 在數據完整性恢復之前,WordPress 將無法與其數據庫通信。

原因 4:您的數據庫服務器遇到問題

您的數據庫服務器一直在等待新的連接,並通過執行查詢和返回請求的數據來服務所有請求。 對數據庫服務器正常工作的任何中斷都可能導致非常嚴重的後果。

如果您的 MySQL/MariaDB 數據庫服務器不接受任何連接請求,這可能發生在完全離線、過載或遇到其他問題時,WordPress 將無法建立與其數據庫的連接,您將看到“建立數據庫連接時出錯”消息在您的網站上。 數據庫服務器問題不易排查,因此可以認為是 WordPress 數據庫連接問題背後最嚴重的原因。

數據庫服務器問題可能包括嚴重的情況,如表空間損壞或服務器上沒有剩餘磁盤空間,每種情況都會導致 MySQL/MariaDB 失敗,並且在沒有系統管理員干預的情況下無法啟動。 同時,由於流量激增或 DDOS 攻擊,您的數據庫服務器可能會因請求而過載。

原因 5:您的 WordPress 網站被黑客入侵

黑客不斷尋找新方法來控制您的 WordPress 網站,並且有無數種方法可以將其破壞到完全無法訪問的地步。 雖然我們將黑客列為在您的 WordPress 網站上看到建立數據庫連接錯誤的單獨原因,但當 WordPress 網站被黑客入侵時,我們之前提到的多個問題可以同時出現。

沒有辦法知道黑客將如何修改您的 WordPress 網站的功能來利用它。 您的 WordPress 文件和數據庫信息可能會被刪除或更改到 WordPress 無法正常運行的程度,從而中斷您網站所有組件之間的連接。

其他原因

不正確的數據庫憑據或用戶權限、WordPress 數據庫損壞、數據庫服務器問題和黑客攻擊是在 WordPress 網站上看到“錯誤建立數據庫連接”消息的五個主要原因。 但是,還有一些其他問題可能會導致 WordPress 中的數據庫連接問題。 其中包括 WordPress 更新失敗或使用的 PHP 版本中缺少數據庫驅動程序。

如果正在使用的 PHP 版本中缺少數據庫驅動程序,PHP 將無法連接到 WordPress 數據庫。 如果您的 WordPress 核心文件已損壞,也會出現類似情況。 您很可能會看到“您的 PHP 安裝似乎缺少 WordPress 所需的 MySQL 擴展”消息、“500 內部服務器錯誤”或“您的網站出現嚴重錯誤”,但看到“錯誤建立數據庫連接”也很常見。

如何通過 3 個步驟修復“建立數據庫連接時出錯”消息

對 WordPress 數據庫連接錯誤進行故障排除包括了解導致錯誤的原因並採取必要步驟來恢復 WordPress 與其數據庫之間的正常連接。 您可以通過三個步驟修復 WordPress 建立數據庫連接的錯誤:

  • 手動連接到 WordPress 數據庫。
  • 確定根本問題。
  • 恢復數據庫連接。

步驟 1. 手動連接到 WordPress 數據庫

解決建立數據庫連接的 WordPress 錯誤的第一步也是最重要的一步是測試您是否可以使用 wp-config.php 文件中指定的憑據連接到 WordPress 數據庫。 您可以使用 MySQL 命令或 WordPress 命令行界面。

WP CLI 提供的wp db query命令可以讓您檢查您的數據庫服務器是否接受連接請求,wp-config.php 中的密碼是否正確,以及數據庫用戶是否有足夠的權限。 您不需要為命令提供任何參數,WP CLI 將自動讀取主 WordPress 配置文件中指定的 WordPress 常量的值。

該命令可以產生三種可能的輸出之一——兩種表示連接失敗,另一種表示連接已成功建立。 您收到的輸出將幫助您縮小 WordPress 建立數據庫連接錯誤背後的可能原因列表。

步驟 2. 確定潛在問題

根據您收到的輸出,您將能夠識別 WordPress 中“建立數據庫連接時出錯”消息背後的問題。 讓我們看看這兩種情況——建立連接和 WP CLI 連接失敗。

連接失敗

如果您嘗試的數據庫連接失敗,您將看到以下輸出之一。 兩個輸出都表示尚未建立連接,但顯示的錯誤消息會讓您知道發生了什麼問題。

wp 數據庫查詢

第一條錯誤消息顯示數據庫服務器接受了連接請求,但拒絕訪問數據庫。 這意味著您要么未能通過身份驗證,要么數據庫用戶沒有足夠的權限訪問 WordPress 數據庫並運行查詢。

第二個輸出表明數據庫服務器沒有接受連接請求,這意味著 MySQL/MariaDB 要么離線,要么請求過載,以至於無法接受新的連接。 允許同時請求的數量有限制,如果達到限制,每個新請求都將被拒絕,讓您的 WordPress 網站顯示“建立數據庫連接時出錯”消息。

已建立數據庫連接

如果您嘗試的連接建立成功,您將看到類似於下面的輸出,這意味著 WP CLI 能夠使用 wp-config.php 文件中指定的憑據和數據庫用戶連接到 WordPress 數據庫具有所需的權限。 建立連接後,您將能夠從 MySQL 命令行客戶端運行查詢或查看表數據。

連接 ID

已建立成功連接這一事實意味著您的數據庫服務器已啟動並正在運行,並且沒有因請求過載而不允許新連接。 但是,即使您可以從命令行連接到您的 WordPress 數據庫,也不能保證建立數據庫連接的 WordPress 錯誤會消失。

步驟 3. 恢復數據庫連接

根據您嘗試從命令行連接到 WordPress 數據庫時收到的輸出,您需要採取不同的步驟來恢復 WordPress 的連接能力,並修復您網站上的“建立數據庫連接時出錯”消息。

已建立數據庫連接

如果您能夠建立連接,但您的 WordPress 網站仍然無法訪問,則可能表明數據庫中缺少一些重要數據,導致 WordPress 無法加載所需信息。 好消息是您可能無需從備份中恢復數據庫即可修復數據庫。

您可以使用 WP CLI、phpMyAdmin 或 WordPress 提供的圖形用戶界面來修復 WordPress 數據庫。 運行 wp db check 和 wp db repair 命令將幫助您檢查 WordPress 數據庫是否存在任何問題並進行修復。

數據庫檢查和修復

WordPress 有一個內置功能,即使您的網站顯示“建立數據庫連接時出錯”消息,您也可以修復數據庫。 將下面的行添加到您的 wp-config.php 文件中,以便能夠訪問 WordPress 數據庫修復界面。

wp允許修復

打開 your-wordpress-site.com/wp-admin/maint/repair.php,其中 your-wordpress-site.com 是您的 WordPress 網站的域名,然後選擇修復數據庫或修復和優化數據庫。

修復 WordPress 數據庫後,您應該不會再在您的網站上收到“建立數據庫連接時出錯”消息。 之後不要忘記從 wp-config.php 文件中刪除常量。

連接失敗

根據您嘗試從命令行建立與 WordPress 數據庫的連接後出現的錯誤消息,您可能意識到 wp-config.php 文件中的憑據不正確,數據庫用戶沒有足夠的權限,或者數據庫服務器不接受任何連接。

打開您的 wp-config.pp 文件並檢查您的數據庫連接設置。 您可能會意識到缺少某些信息,或者用戶密碼在更改後未更新。

mysql

打開您的網絡託管管理面板並導航到數據庫管理界面。 如果您使用的是 cPanel,則需要從 WordPress 站點的 cPanel 帳戶打開 MySQL 數據庫界面。 確保 wp-config.php 中指定的數據庫用戶與 WordPress 數據庫正確關聯並且已被授予所有權限。 更新其密碼並將正確的信息放入 WordPress 配置文件中。

重新加載您的 WordPress 網站以查看“建立數據庫連接時出錯”消息是否消失。
如果您繼續看到數據庫連接錯誤,請按照上一節中概述的過程修復數據庫。

如果您根本無法連接到數據庫服務器並懷疑它處於脫機狀態或連接過載,最好聯繫您的網絡託管服務提供商以請求進一步的幫助。 服務器端問題可能難以解決,錯誤的故障排除方法可能導致嚴重後果,包括數據丟失。

如果以上解決方案都沒有幫助

如果上述解決方案都不適合您,並且 WordPress 仍然無法建立與其數據庫的連接,則可能表明需要進一步調查的更嚴重的問題。 您的網絡託管支持團隊將能夠找出導致您網站上“建立數據庫連接時出錯”消息的確切原因,並為您提供最佳解決方案。

您可能必須從備份中恢復您的 WordPress 數據庫或整個網站,或者刪除已放置在那里以破壞它的惡意注入和腳本。

如何防止未來的數據庫連接錯誤:3 個提示

對網站管理採取謹慎的方法是使其免受各種威脅並避免錯誤的最佳方式。 由於 WordPress 依賴於連接到其數據庫來檢索所需數據的能力,因此確保可以始終建立成功的數據庫是防止未來錯誤的關鍵。

1. 定期審查您的網站及其配置

定期審查您的 WordPress 網站內容並確保您的虛擬主機中的所有更改都反映在 WordPress 配置文件中是必不可少的。 保持 WordPress 建立與其數據庫的連接所依賴的數據庫身份驗證信息是最新的,這一點尤為重要。

每次對數據庫用戶密碼或數據庫服務器進行任何可能影響 WordPress 與其通信方式的更改時,不要忘記更新 wp-config.php 中的 WordPress 數據庫憑據。 當您將 WordPress 網站移動到另一台服務器、克隆它以創建臨時環境或使用新域名時,更新所有 WordPress 配置尤為重要。

2.投資優質託管

您的網站是否 24/7 全天候在線,以及您需要花費多少時間來解決出現的錯誤,這取決於針對 WordPress 優化網絡託管服務以適應流量的程度。 選擇可擴展的託管解決方案,以保證您的網站不會因請求超載而變得無法訪問,即使您舉辦了大型促銷活動。

您的網絡託管支持團隊應主動監控生產環境、運行更新並解決任何服務器端問題。 這包括對 DDOS 攻擊的快速響應,這種攻擊可能會使您的服務器無法處理任何請求並導致您的網站癱瘓。

尋找最好的 WordPress 主機? 我們建議將 Nexcess 用於完全託管的 WordPress 託管,將 Liquid Web 用於 VPS 和專用服務器。

3. 保護您的 WordPress 網站

安全性是在線開展業務的最重要方面之一。 隨著網絡安全攻擊的興起,沒有網站所有者可以免受全球網絡帶來的各種威脅。 如果您的 WordPress 網站被黑客入侵,大多數情況下,攻擊者可以訪問您的數據庫,這使他們能夠添加新的管理員用戶並對您的業務造成嚴重破壞。 注入的惡意代碼會導致極具破壞性的後果,使您的網站完全無法訪問或無法正常運行。

我們建議您安裝 WordPress 安全插件(如 iThemes Security Pro)來保護您的 WordPress 網站。 iThemes Security Pro 提供 24/7 全天候網站安全監控、暴力攻擊保護、針對易受攻擊的插件、主題和 WordPress 核心版本的站點掃描器,以及兩因素身份驗證等用戶安全增強功能。

4.執行定期更新

大多數情況下,黑客通過利用已知漏洞來訪問您的網站; 這就是為什麼執行定期更新的重要性很難被高估的原因。 確保您的 WordPress 安裝、所有插件和擴展都更新到最新版本。

軟件更新的最佳方法是使過程完全自動化。 iThemes Security Pro 提供的版本管理功能允許您為 WordPress 核心、插件和主題配置自動更新,並執行有助於識別所有過時軟件的掃描。

您是否管理多個 WordPress 網站? iThemes Sync 之類的工具為您提供了一個中央儀表板,可以在一個地方管理所有 WordPress 網站的更新。

5. 將自動備份配置為按計劃運行

能夠在發生錯誤時恢復您的 WordPress 網站是網站管理最重要的方面之一。 備份有助於保護您的網站免受數據丟失以及安全漏洞和服務器端問題的其他破壞性後果。 確保您配置了定期備份,以便將數據保存到安全位置。

使用 WordPress 的備份插件是確保您只需單擊幾下即可隨時恢復您的網站的好方法。 超過一百萬個 WordPress 網站受到 iThemes 的 BackupBuddy WordPress 插件的保護,它允許您在幾分鐘內備份和恢復 WordPress 網站的每個組件。

6. 保護您的網站免受安全威脅

如果您希望最大限度地減少網站出現錯誤和訪問者無法訪問的可能性,那麼對安全威脅做出快速響應並採取積極主動的方法來確保安全是關鍵。

黑客攻擊可能會導致您網站的所有組件崩潰,從而使您無法恢復功能並將其重新上線。 您需要針對 WordPress 優化的安全解決方案,以保護您的網站免受已知威脅並讓黑客遠離。

iThemes Security Pro 是一個插件,用作應用程序級安全解決方案,可過濾惡意請求並阻止未經授權訪問您網站中最易受攻擊的部分。 iThemes Security Pro 站點掃描功能允許您運行漏洞掃描,如果您的主題、插件或 WordPress 核心版本存在已知漏洞,則會提醒您。

包起來

與所有數據庫驅動的應用程序一樣,WordPress 依賴於建立與其數據庫的連接並運行查詢以檢索請求的內容的能力。 WordPress 無法與數據庫服務器成功通信時會生成“建立數據庫連接錯誤”消息,這可能有多種原因。

了解 WordPress 需要什麼來建立數據庫連接以及如何恢復您的網站與其數據庫之間的正常通信將幫助您解決數據庫連接錯誤並讓您的網站為訪問者保持在線。

獲得獎勵內容:WordPress 安全指南
點擊這裡