今次我們就來講一下這個常見錯誤一般是因為什麼而導致,以及如何修復。
首先「建立數據庫連接時出錯(Error establishing a database connection)」是什麼意思?
我們需要知道WordPress的運作,WordPress網站所有數據都由MySQL/MariaDB數據庫(或其他數據庫)儲存,然後與前端配合組成的網站。
所以當你的數據庫無法連接時將會顯示錯誤訊息並使你無法執行WordPress的任何動作。
「建立數據庫錯誤時出錯」意味著由於某種原因,你的前端代碼無法與數據庫連接以獲取該頁面所需的數據。
數據庫連接出錯的原因和解決方法
數據庫連接時出錯,一般是因以下原因之一造成的:
1. 連接數據庫資料錯誤
熟悉或WordPress的新手應該都知道,WordPress根目錄下有一個名為wp-config.php的文件,那個是WordPress中最重要的設定檔。
連接數據庫比較重要的分別有四頂:
- DB_NAME = 數據庫名稱
- DB_USER = 數據庫的使用者
- DB_PASSWORD = 數據庫使用者密碼
- DB_HOST = 數據庫位置
先檢查好這四項有沒有地方錯誤,如有不清楚的地方可向主機商查詢。
2. 數據庫用戶缺少權限
當檢查過以上四項仍未能正常運作有可能因為你的數據庫使用者缺少了對數據庫的權限,我們來示範一下以cPanel的界面該怎樣處理。
3. 數據庫程序停掉
有時候可能會因數據庫程序(MySQL/MariaDB…)停掉導致你無法連接到數據庫中,一般遇到這情況共享環境的主機商都會自行處理,如是自架VPS的可嘗試自行啟動數據庫程序。
至於自架的VPS數據庫為什麼停掉有太多原因都可以導致(內存不足 、查詢語句錯誤 、 設定檔問題… 等等),我們就無法為你簡短幾句說明,建議聯絡專業人士為你的伺服器作檢查。
4. 數據庫表格損壞
由於插件、主題不斷變化 、 WordPress網站中安裝了不良的插件 、 文章數據量很大,這些都有可能導致數據庫損壞。
我們可以透過開啟WordPress內置的數據庫修復功能進行修復,這個修復功能默認是禁用的,我們需要在wp-config.php中新增以下代碼:
define( 'WP_ALLOW_REPAIR', true );
新增後,瀏覽你網站任何一個頁面,都可以透過WordPress自動嘗試去修復數據庫。
請注意:新增以後任何人都可以訪問到數據庫修復頁面,所以一旦你修復完以後,請務必記得刪除代碼!
如WordPress的嘗試修復功能無法成功修復請回復你的數據庫備份,以EBuildHost為例,我們每天系統會自動為客戶進行備份並保留30天,一旦發生任何事情都可聯絡我們的工程師協助。
以上就是4種解決的方法,如以上4種方法都失敗請尋求你的主機商協助。
如果您喜歡這篇文章,請追蹤及點讚我們的Facebook給我們支持。