如何修復在 WordPress 中建立數據庫連接的錯誤

已發表: 2021-05-07

大多數情況下,WordPress 就像一台運行良好的機器一樣運行——幾乎不會出現問題。 每隔一段時間,就會發生一些奇怪的事情。 讓您如虎添翼,急切地想找出問題的原因並讓您的網站恢復正常運行。

幾乎每個人都了解 WordPress 數據庫的重要性。 它包含使您的網站獨一無二的所有內容。 您的內容、圖像、元描述、設置、用戶信息等都包含在您的數據庫中。

這就是為什麼有一條消息將恐懼傳遞到每個網站所有者的心中。 它是純白色的屏幕,頂部有一個不祥的短語,上面寫著“建立數據庫連接時出錯”。

在你停下來之前,在恐慌的狀態下跌倒並翻滾,深呼吸並意識到我們通常可以在幾分鐘內解決這個問題。 這正是我們今天要經歷的。

第一件事:備份入門

我們將保持簡短和甜蜜。 總有一些人還沒有加入創建定期備份的想法。

當然,這不會是你吧?

如果是,則建立數據庫連接消息的錯誤通常是理想的喚醒電話。 數據庫可能會突然出現問題的想法通常會嚇到人們養成定期備份的習慣。

因此,如果您還沒有這樣做,那麼今天是您開始為 WordPress 站點創建定期備份的日子。 一旦我們讓您的數據庫備份並運行,您就可以前往本文查看一種簡單的入門方法。

無論哪種方式,當我們進入本文的故障排除部分時,在對 MySQL 數據庫進行任何更改或單擊 phpMyAdmin 中的任何內容之前,確保您已創建新備份非常重要。 通過“新鮮備份”,我的意思是一個全新的版本。 不要覆蓋在生成錯誤消息之前創建的內容。

建立數據庫連接時出錯是什麼意思?

任何 WordPress 網站的核心都是數據庫。 MySQL 是一個開源數據庫,負責存儲您網站所需的幾乎所有關鍵信息。 簡而言之,如果沒有數據庫,您只有一個空白的白色屏幕。

每當訪問者訪問您的網站時,都需要基於 PHP 構建的 WordPress 將請求的頁面傳送到訪問者的瀏覽器。 為此,WordPress 與您的 MySQL 數據庫進行通信並請求所需的信息。 這絕對包括最終用戶在其屏幕上看到的所有內容。

因此,如果訪問者訪問您的主頁,WordPress 將從數據庫中請求信息,包括您當前的主題、標題和徽標、任何圖像或文本、側邊欄小部件、設置、頁腳內容等。 這是一個很長的清單。

但時不時,就會出現問題。 WordPress 去尋找信息 - 什麼也沒有。 安靜。 無論出於何種原因,WordPress 都無法連接或從您的數據庫中提取所需的信息。 發生這種情況時,它會返回一個空白頁面和一條錯誤消息“建立數據庫連接時出錯”。

一旦發生這種情況,由您或您的託管公司來查找問題的根本原因並修復錯誤。

為什麼會發生此錯誤?

如果錯誤的原因與錯誤消息本身一樣清楚,那就太好了。 不幸的是,這種情況很少發生。 大多數情況下,只需稍微挖掘一下即可快速解決問題。 其他時候,您可能需要通過與您的託管公司聯繫來升級情況。 在您解決這些問題和解決方案時,請記住,對於 WordPress 中的大多數事情,通常有多種方法可以解決相同的問題。

讓我們來看看三個最常見的原因:

您的數據庫憑據不正確

如果您最近通過託管公司的一鍵安裝程序安裝了 WordPress,那麼這很可能不是問題的原因。

另一方面,如果您正在執行以下其中一項操作,那麼您的問題很可能就在於此:

  • 使用“著名的 5 分鐘安裝”安裝 WordPress。
  • 從本地安裝移動到服務器。
  • 如果您要更改主機或域名。

大多數情況下,您會知道您的憑據是否有可能不正確。 如果您一直在輸入或更改數據庫憑據,這不是您在不知不覺中所做的事情。

步驟 #1 – 收集所需信息

解決錯誤消息的第一步是收集所有必需的信息。 這包括:

  • 數據庫名稱
  • 數據庫主機(通常但不總是“本地主機”)
  • 數據庫用戶名
  • 數據庫密碼

mysql 數據庫

此信息可以在 MySQL 數據庫下的 cPanel 中找到(如上圖所示)。 打開此窗口將顯示數據庫安裝列表以及數據庫用戶列表。 當您移至第二步時,請保持此窗口打開。

步驟 #2 – 交叉檢查您的數據庫憑據

第二步是下載或打開wp-config.php文件。 您可以使用基本的 FTP 程序(例如 FileZilla)執行此操作,但登錄 cPanel 並打開文件管理器更容易,選擇“WebRoot (public_html/www)”,然後單擊“Go”。

接下來,選擇 wp-config.php 文件(如上所示),然後在屏幕頂部單擊“編輯”。 這將打開文件並啟用編輯器。 向下滾動幾行,您會找到您要查找的信息:

引號中包含的所有信息,例如“database_name”,必須與您的實際數據庫憑據完全匹配。 即使引號後的額外空格也可能導致錯誤消息。

如果您想知道您的數據庫主機應該設置為什麼,您可以查看您的託管公司的支持團隊或此列表。

如果您不確定自己的密碼,只需選擇用戶(如下圖所示)並重置密碼即可。 然後將新密碼複製並粘貼到您的 wp-config.php 文件中。

數據庫更改密碼

如果出於任何原因,您寧願從頭開始。 您可以簡單地創建一個新用戶並將其分配給數據庫。 只要確保如果您有多個數據庫安裝,您將新用戶應用到正確的數據庫(您可能只有一個)。

數據庫新用戶

步驟 #3 – 檢查您的表前綴

當您查看 wp_config.php 文件時,確保您的表前綴正確也是一個好主意。 如果您引用了錯誤的數據庫,則登錄詳細信息的準確性無關緊要。 查找以下文本:

通常你的表前綴會說“wp_”,但它可以設置為任何東西,例如“wp63ts7_”
確保您的實際表前綴與 wp-config.php 文件中的內容相匹配。

您的數據庫已損壞

如果您已完成上述所有步驟但均無濟於事,請仔細檢查是否有任何拼寫錯誤或丟失信息,下一個可能是您的數據庫已損壞。

數據庫損壞的一個明顯跡像是您網站的前端似乎工作正常,但後端顯示錯誤消息,反之亦然。

如果是這種情況,您可能走在正確的軌道上。 與檢查所有數據庫憑據相比,此潛在修復方法要少一些乏味,但仍然需要做一些工作。 有兩種可能的方式來完成工作:

選項 #1 啟用 WordPress 數據庫修復

按照上面的第 2 步,您需要使用編輯器打開 wp-config.php 文件。
滾動到文件底部並添加以下代碼行:

 定義('WP_ALLOW_REPAIR',真);

保存您的更改,但保持編輯器打開,幾分鐘後您將需要它。

接下來,在瀏覽器中打開一個新選項卡。 導航到以下 URL:

 http://yoursite.com/wp-admin/maint/repair.php

這將打開 WordPress 數據庫工具,如下圖所示。 從那裡,您可以選擇“修復數據庫”或“修復和優化數據庫”。 但是,為了保持謹慎,最好簡單地修復數據庫。

WordPress-數據庫-修復

如果您沒有立即看到修復選項但看到此消息,您將需要首先編輯您的 wp-config.php 文件。

完成此步驟後,返回文件編輯器,刪除您在底部添加的行並再次保存文件。 您現在已禁用修復工具。 不要忘記這最後一步

選項 #2 使用 phpMyAdmin 修復您的數據庫

修復數據庫表的另一種方法是通過 cPanel 中的 phpMyAdmin 界面。 雖然更快更容易,但這種方法也需要多加小心,因為您可以從 phpMyAdmin 中完全清除您的數據庫。

友情提示:在進行任何更改之前,請務必備份您的數據庫。

phpMyAdmin

打開 phpMyAdmin(見上文)後,在屏幕左側選擇適當的數據庫。 接下來,確保選擇了結構選項卡。 然後,突出顯示所有表並使用下拉框,選擇下面的“修復表”。

通過 phpMyAdmin 修復表 – 選擇“檢查所有”項目,然後單擊“立即修復”

一旦此操作顯示已完成,您可以關閉 phpMyAdmin 並測試您的網站。

服務器有問題

第三種也是最後一種可能性是您的錯誤消息實際上是由服務器問題引起的。 如果您的網站託管在共享環境中,則問題通常更可能是由服務器過載引起的。

對於許多共享託管公司,同一台服務器上可以託管數千個其他網站。 如果這些用戶之一決定濫用服務器資源,無論是否有意,他們的行為可能會影響其網站託管在同一服務器上的其他所有人。

關於這種情況的好消息是,導致此類問題的用戶通常很快就會被標記為紅色。 一旦您的託管公司發現問題,違規帳戶將被暫停或受到非常短的束縛。

這些問題也有可能不是故意造成的。 例如,如果您的網站或同一服務器上的另一個網站出現在媒體或 Reddit 的頭版中,突然的流量高峰可能會使數據庫過載。 這種類型的問題也往往會很快自行解決。 如果您已經嘗試了所有其他方法,但幾分鐘後您的網站仍處於離線狀態,則可能是時候致電或與您的託管公司在線聊天了。

如果此問題經常發生並且是使用共享主機的結果,您可能需要考慮改用託管主機。 雖然它有點貴,但你很少有這些問題需要處理。

包起來

這幾乎涵蓋了您可能遇到“建立數據庫連接時出錯”消息的三個最常見原因:

  1. 數據庫憑據不正確。
  2. 損壞的數據庫或單個數據庫表。
  3. 服務器有問題。

在大多數情況下,此錯誤消息是一個可以在 15 分鐘內解決的問題。 如果您不確定如何修復它,或者您對本文中介紹的方法不滿意,最好聯繫您的託管公司或求助 WordPress 支持服務。 您最不想做的事情就是對數據庫造成更大的損害。

即使使用共享主機,您也會發現客戶支持在幾乎所有情況下都非常樂意幫助您解決此錯誤。 如果沒有,可能是時候尋找不同的託管公司了。

如果您曾經遇到過 WordPress 數據庫問題,請在下面的評論中分享。