如何對WordPress資料庫問題進行故障排除和修復

錯誤型別:
資料庫錯誤
錯誤名稱:
建立数据库连接时出错
英文名稱:
Error establishing a database connection
錯誤描述:
“建立数据库连接错误消息”可能是您在WordPress网站上看到的最常见的错误消息之一。

如何對WordPress資料庫問題進行故障排除和修復

不得不對WordPress資料庫進行故障排除和修復是我們許多人在某個時候都會遇到的事情。

如果您看到一條錯誤訊息,告訴您無法連線到資料庫或者某些檔案已損壞,那麼很有可能是您的WordPress資料庫出現問題。

但是如何修復WordPress資料庫呢?

在本文中,我們將向您展示如何診斷WordPress資料庫的問題以及如何修復它們。您還將學習如何防止您的WordPress資料庫問題在未來再次發生。

  1. 如何知道WordPress資料庫是否需要修復
  2. 需要修復資料庫的6個常見原因
  3. 如何修復WordPress資料庫
  4. 如何優化您的WordPress資料庫

如何知道WordPress資料庫是否需要修復

作為WordPress使用者,您可能會遇到一些WordPress錯誤。執行一個網站而不偶爾遇到問題幾乎是不可能的。但是你怎麼知道是資料庫的問題呢?

以下是一些線索,可以告訴您您的資料庫有問題:

“建立資料庫連線錯誤訊息”可能是您在WordPress網站上看到的最常見的錯誤訊息之一。當程式碼出現問題時,這幾乎和所謂的死亡白屏一樣可怕。

建立資料庫連線時出錯

建立資料庫連線時出錯

不過,修復它可能非常簡單。

在我們討論解決問題可能需要的各種方法之前,讓我們先看看資料庫問題的原因

需要修復資料庫的6個常見原因

以下是資料庫問題的一些最常見原因。對於某些情況,您會看到特定的警告訊息。對於其他人,您將獲得通用的建立資料庫連線訊息。

讓我們來看看最常見的場景,然後看看如何修復您的WordPress資料庫。

1. 不正確的資料庫憑據

這可能是WordPress資料庫連線問題的最常見原因,幸運的是,它最容易修復。

如果您不想自己編輯程式碼,您只需要對wp-config.php檔案進行簡單的修改或使用外掛進行修復

2. 連線問題

無法訪問資料庫的原因之一是連線到伺服器的問題。如果您使用的是廉價主機,您可能會發現您的伺服器很慢或沒有響應。一個好的託管服務提供商將為您提供正常執行時間保證,這意味著這不應該是您問題的原因。

但是值得與您的託管服務提供商核實伺服器上是否存在任何問題。

3. 超出PHP記憶體限制

這是一個錯誤,根據我的經驗,當您將媒體上傳到您的網站時,這種錯誤最常出現。

這意味著您已經超出了為您的站點設定的記憶體限制。修復它需要編輯一些程式碼、通過您的託管服務提供商更改一些設定或使用外掛。

4. 損壞的資料庫表

如果您的資料庫表已損壞,則需要清理資料庫。如果您的憑據正確,連線沒有問題,並且您沒有超出PHP記憶體限制,那麼下一個最有可能的罪魁禍首是資料庫損壞

您可以在phpMyAdmin中修復損壞的資料庫表

5.損壞的檔案

如果WordPress安裝中的檔案已損壞,這可能會導致資料庫出現問題。這可能是由於檔案已損壞的外掛存在問題,或者是您的開發人員之一進行了編輯。

我們很快就會看看您可以使用哪些選項來修復損壞的檔案

6. 你的網站或資料庫被黑了

我們特意把這個留到最後,因為它最有可能嚇到您:您的WordPress網站或資料庫可能已被黑客入侵。但是,如果您的資料庫由於黑客攻擊而出現問題,修復它並不像您想象的那麼困難。

您可以從託管公司獲得幫助,也可以自行修復。

現在,是時候開始修復一些資料庫了!

如何修復WordPress資料庫

既然您現在知道資料庫問題的常見原因,您就會問這個問題:如何修復我的WordPress資料庫?

您需要採取的具體步驟取決於問題的性質。讓我們先完成最簡單的步驟,因為它們將解決最常見的問題。

如果您已經確定您的資料庫遇到了更嚴重的問題,請跳至本節的相關部分。

  1. 從備份開始
  2. 如何使用資料庫日誌檔案診斷WordPress資料庫錯誤
  3. 如何編輯您的WordPress資料庫憑據
  4. 如何使用WP_ALLOW_REPAIR修復WordPress資料庫
  5. 如何在phpMyAdmin中修復WordPress資料庫
  6. 如何通過WP-CLI修復WordPress資料庫
  7. 如何增加PHP記憶體限制
  8. 如何使用資料庫修復外掛修復WordPress資料庫

從備份開始

無論您將採取何種步驟來修復您的資料庫,您都應該始終從備份您的站點開始。

使用備份外掛或轉到您的託管服務提供商介面並在那裡進行手動備份。使用寶塔面板的站長們可以使用備份計劃進行資料備份,但您也可以根據需要進行手動備份或增加頻率。

如何使用資料庫日誌檔案診斷WordPress資料庫錯誤

第一步是檢視錯誤日誌並確定問題所在,你可以通過在wp-config.php中啟用錯誤日誌

日誌會告訴您網站上發生了什麼以及發生了哪些錯誤。您可以使用這些來診斷資料庫連線問題。

完成後,請使用下面的相關修復程式。或者,如果您不能這樣做,請按順序完成這些修復,因為它們從最簡單和最常見的開始。

如何編輯您的WordPress資料庫憑據

建立資料庫連線出錯的最常見原因是不正確的資料庫憑據。

要編輯您的資料庫憑據,請備份您的wp-config.php檔案,然後開啟原始檔案。備份是必不可少的,以防你犯了一個讓事情變得更糟的錯誤。

您將在WordPress安裝的根目錄中找到wp-config.php檔案。要訪問它,您需要通過SFTP連線到您的站點。

如果您的站點要正確連線到您的資料庫,該檔案包含需要正確的四條資訊。這些是:

  • 資料庫名稱。
  • MySQL資料庫使用者名稱。
  • MySQL資料庫密碼。
  • MySQL主機名。

在您的wp-config.php檔案中,這四項資訊將如下所示:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');
/** MySQL database username */
define('DB_USER', 'xxxxxx');
/** MySQL database password */
define('DB_PASSWORD', 'xxxxxx');
/** MySQL hostname */
define('DB_HOST', 'xxxxxx');
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'xxxxxx'); /** MySQL database username */ define('DB_USER', 'xxxxxx'); /** MySQL database password */ define('DB_PASSWORD', 'xxxxxx'); /** MySQL hostname */ define('DB_HOST', 'xxxxxx');
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');
/** MySQL database username */
define('DB_USER', 'xxxxxx');
/** MySQL database password */
define('DB_PASSWORD', 'xxxxxx');
/** MySQL hostname */
define('DB_HOST', 'xxxxxx');

要找到正確的資料庫憑據,您需要通過您的託管服務提供商檢查您的管理螢幕,或者找到您在設定託管帳戶時最初收到的電子郵件。

您還可以在phpMyAdmin中找到您的資料庫憑據,如果這是您從託管服務提供商處獲得的介面,您可以通過cPanel訪問該憑據。

一旦您正確更新了資料庫憑據,請儲存您的“新”wp-config.php檔案,將其關閉,然後再次嘗試訪問您的站點。

如果您仍然無法訪問資料庫,請繼續閱讀以獲取更多解決方案。

如何使用WP_ALLOW_REPAIR修復WordPress資料庫

下一個選項是指示WordPress修復您的資料庫的任何問題。您可以通過在wp-config.php檔案中新增一行來完成此操作。

開啟檔案,找到這一行:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/* That's all, stop editing! Happy blogging. */
/* That's all, stop editing! Happy blogging. */
/* That's all, stop editing! Happy blogging. */

在該行正上方新增此行:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
define (‘WP_ALLOW_REPAIR’, ‘true);
define (‘WP_ALLOW_REPAIR’, ‘true’);
define (‘WP_ALLOW_REPAIR’, ‘true’);

現在,儲存您的wp-config.php檔案並關閉它。

同樣,請確保首先建立wp-config.php檔案的備份副本,以防萬一。

下一步是訪問資料庫修復頁面。您可以在http://your-site.com/wp-admin/maint/repair.php找到它。將your-site.com替換為您網站的域名。

這將帶您進入資料庫修復頁面:

資料庫修復頁面

資料庫修復頁面

您在這裡有兩個選擇:

  • 修復資料庫(Repair the database)
  • 修復和優化資料庫(Repair and optimize the database)

如果您也選擇對其進行優化,WordPress將遍歷您的資料庫表並對其進行優化,以使您的站點執行更高效。

單擊您想要的兩個按鈕中的任何一個,然後等待WordPress修復您的資料庫。現在,您的網站應該可以正常工作了。

完成後,不要忘記刪除剛剛新增到wp-config.php檔案的行。

但是,如果這也不起作用怎麼辦?下一步是轉到phpMyAdmin並嘗試在那裡修復您的資料庫。

如何在phpMyAdmin中修復WordPress資料庫

所以你已經嘗試了上面的選項,但你的資料庫仍然沒有連線。讓我們嘗試通過phpMyAdmin修復它。

您不習慣直接訪問您的資料庫,您可能更喜歡為此使用外掛。本文稍後列出了一些可用於修復WordPress資料庫的外掛。

您可以通過託管服務提供商的管理螢幕訪問phpMyAdmin。在寶塔面板中,您可以通過資料庫管理,選擇需要修復資料庫的站點,然後單擊管理連結來訪問它。

在寶塔面板中訪問phpMyAdmin

在寶塔面板中訪問phpMyAdmin

登入phpMyAdmin後,從左側的資料庫列表中單擊需要修復的資料庫。資料庫中的表將在右側載入:

phpMyAdmin中的資料庫表

phpMyAdmin中的資料庫表

向下滾動並勾選“Check All ”選項。然後,在“With selected框中,選擇“Repair table”。

在phpMyAdmin中修復資料庫

在phpMyAdmin中修復資料庫

然後系統將處理您的資料庫表並進行修復。

但是,如果這些選項之一不起作用或者您想以不同的方式訪問您的站點怎麼辦?讓我們嘗試另一種方法。

如何通過WP-CLI修復WordPress資料庫

如果您使用命令列訪問WordPress安裝,則可以使用WP-CLI修復資料庫。

為此,請使用wp db repair命令。這可能是修復資料庫的最快方法。

如何增加PHP記憶體限制

如果由於超出PHP記憶體限制而在訪問資料庫時遇到問題,您可以採取措施增加此限制。

在wp-config.php檔案中,找到這一行:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
define( 'WP_MEMORY_LIMIT', 256M' );
define( 'WP_MEMORY_LIMIT', 256M' );
define( 'WP_MEMORY_LIMIT', 256M' );

256M這個數值與您可以使用的記憶體量有關。如果它是一個較低的數字,請編輯它以使其更高。256M通常足以用於WordPress站點。請注意,您檔案中的數字可能不同,因為它代表您站點的當前記憶體限制。您也可能根本找不到這條線。

注:如果您的託管計劃不允許您訪問更多記憶體,則可能需要升級您的計劃才能實現這一點。或者您可能更願意切換到為您提供更多記憶體的提供商。

如何使用資料庫修復外掛修復WordPress資料庫

如果您不習慣使用上述任何選項修復資料庫,您可以使用資料庫外掛來修復它。這僅在您對您的網站具有管理員訪問許可權時才有效。

可讓您修復資料庫的外掛包括:

如何優化您的WordPress資料庫

一旦您修復了資料庫問題(或在它首先開發它們之前),最好採取措施避免將來出現問題。這裡有一些提示,可幫助您管理WordPress資料庫並保護它免受未來問題的影響。

資料庫優化外掛

如果您的託管服務提供商沒有為您優化資料庫,您可以使用外掛來解決這個問題。執行此操作的外掛包括:

將MySQL索引新增到wp_options表

將MySQL index新增到wp_options表(或從該表中刪除它)可以加快資料庫連線。使用本指南中的提示來確定哪個選項可以使您的網站執行得更快。

資料庫管理和安全良好實踐

管理資料庫的良好做法類似於良好的WordPress網站管理:

  • 保持定期備份。如果您需要再次修復您的資料庫,知道您有定期的自動備份將使您更輕鬆並讓您安心。使用備份外掛,或者,如果您使用寶塔面板,您可以設定定時備份計劃,無需動動手指。
  • 確保您的資料庫始終得到優化並確保其順利執行。通過資料庫優化外掛或選擇為您處理此問題的託管服務提供商來執行此操作。
  • 除非您信任收件人,否則切勿洩露您的資料庫密碼。需要資料庫密碼才能在站點上工作是不常見的,因此如果您被要求提供密碼,請詢問原因。
  • 如果其他人有權訪問您的資料庫,請在他們完成工作後更改憑據,然後更新wp-config.php檔案。
  • 只為您的WordPress管理員、您的主機帳戶和您的FTP/SFTP訪問使用安全密碼。在公共連線上時優先使用SFTP而不是FTP。
  • 如果您編寫了一個向資料庫新增表或記錄的外掛,請確保在刪除外掛時刪除它們。
  • 採取措施確保您的網站安全並保護其免受黑客攻擊。

小結

連線到 WordPress 資料庫時出現問題令人頭疼,而且可能令人生畏。但是,如果您按照上述步驟操作,您應該能夠修復它並快速再次訪問。

確保您遵循指南以防止將來發生資料庫問題,希望您不必再次修復資料庫。

 

評論留言