Error establishing a database connection

如果你的 WordPress 網站突然無法連上,出現了Error establishing a database connection這樣的錯誤訊息畫面(圖一)(註1),而虛擬主機的資料庫伺服器也正常,你也沒有更動到你的wp-config.php檔,有一種可能是因為虛擬主機的系統可能有程式上的更新所造成的資料庫使用者與密碼認證錯誤,所以無法連上主機的資料庫,這時候可以請你的虛擬主機商幫忙做故障排除,或是自己透過虛擬主機商提供的管理介面Cpanel來做修正。

Error establishing a database connection
(圖一)

以下分享的是自己試著做修正的步驟,也許並不適用全部的案例,僅提供給大家參考。

1. 登入虛擬主機提供的Cpanel管理介面,找到MySQL資料庫(圖二)。

MySQL資料庫
(圖二)

2. 刪除資料庫使用者(也就是在wp-config.php檔裡面設定define('DB_USER', 'usernamehere');usernamehere(註2)

3. 新建一個資料庫使用者(也就是在wp-config.php檔裡面設定define('DB_USER', 'usernamehere');usernamehere,密碼和wp-config.php檔裡面設定define('DB_PASSWORD', 'yourpasswordhere');yourpasswordhere相同。

4. 賦予資料庫使者資料庫的使用權限(圖三)。

賦予資料庫使者資料庫的使用權限
(圖三)

5. 以上步驟完成,就可以讓你的wp-config.php裡面,關於與資料庫連上的設定再次啟用正確連結,現在你的WordPress應該就可以恢復正常了。

(註1)圖一的錯誤訊息是在 Firefox 瀏覽器下顯現的狀態,IE的話或有不同。
(註2)請特別留意不要誤刪到資料庫。

About The Author

max

使用 WordPress 架設網站不再是一件痛苦的工作。這裡跟大家分享使用WordPress的相關問題與研究。 並且提供有關WordPress外掛程式,佈景主題等等的使用經驗分享。 幫助想要建立網站的朋友,可以簡單,快速,無痛苦的建立與使用網站。

18 Comments

  1. skyfate

      這個訊息我之前還常遇到,我的狀況是,通常等幾個小時就正常。

      上個月底搬到一個 CP 空間,沒想到今天早上出問題。查了一下 IP ,原來他們的主機偷偷的從達拉斯般到加拿大。偷偷搬是小事情,不過怪的是,我查我的網址已經找不到對應的伺服器,卻依舊可以看到我的 BLOG(有時看的到有時看不到),CP後台也是有時可登入有時無法登入(一整天了)。

      想了想,還是原本的空間穩定,搬家真辛苦,呵呵。

  2. max

    尋找一個穩定的虛擬主機空間,我想是我們每個架設網站的人,最期盼盼的願望之一吧。

  3. 8591部落格

    昨天第一次出現這問題
    還是要謝謝你的經驗分享了~

  4. claire

    您好
    我最近剛架好 wordpress網誌,不知道發生什麼事
    我的網誌跟關於我等等的頁頁 都出現404 Not Found的訊息
    請問我該怎麼解決呢??

  5. max

    claire
    你好,我猜想你是使用固定鏈結設定,但是卻沒有將固定鏈結設定的語法寫入.htaccess檔。

  6. claire

    您好
    我後來存入了一各.htaccess檔, 果然就改善了,謝謝

  7. onioholic

    您好,
    我重新更新過了使用者,然而狀況仍一樣
    進入http://onioholic.com/mysql_test.php 後發現網站資料庫應該是沒有問題的,
    重新在進入Wp-admin後,發現One or more database tables are unavailable. The database may need to be repaired
    我輸入define(‘WP_ALLOW_REPAIR’, true); 至Config.php後
    再次進入後按下Repair Database
    卻只出現
    Are you sure you want to do this?

    Please try again.

    請問這是資料庫已經有問題還是哪邊出錯呢,感謝。

  8. max

    onioholic
    你好,請試試以下方法:
    1. 再次檢查wp-config.php檔案裡面關於DB_HOST, DB_USER, DB_PASSWORD, DB_NAME填寫正確。
    2. 請與你的主機商聯絡,確認www.onioholic.com網址設定是正確的使用。www.onioholic.com看起來與 onioholic.com並不相同。

  9. Wendy

    你好 我遇到這樣的問題 不過通常都是短暫的 可能半分鐘以後就會恢復連線
    後來我寫信問主機商 他們的回應是:
    For shared hosting performance we limit the maximum simultaneous MySQL connections to 15 per user, and each time you hit 15 your website displays an error when it cannot make a 16th or more connection
    其實我有點不太明白他的意思???
    因為我們的網站最近常會同時有幾十個人在線上
    是不是同時有超過15個人讀取/寫入 就會造成這樣的結果呢? 他的意思@@
    我有安裝WordPress Database Backup 對照google分析 人數開始飆升之後 我的backup自動排程就一直無法順利存取寄送備份到我的信箱了QQ

  10. max

    Wendy
    你好,根據你提供的訊息看來是這樣沒有錯,可以跟你的虛擬主機商討論有沒有其他因應的方案。另外,WordPress Database Backup無法自動備份,是不是有其他的錯誤訊息可以參考呢??

  11. Wendy

    max
    謝謝你的回覆
    WordPress Database Backup我是設定每天backup一次 然後把檔案email給我自己
    在網站開放以前是正常運作的 我也都有收到備份檔案喔
    其他錯誤訊息嘛…..除了本篇的Error establishing a database connection訊息之外
    從後台發文的時候有的時候會跳出config連結資料庫有問題 如下 (馬上有==)
    不過也是一分鐘內就會恢復連線了….
    —-
    建立一個資料庫連線時發生錯誤
    這意味著在你的 wp-config.php 檔案內可能包含了不正確的使用者名稱和密碼,或者我們無法從 localhost 連線到資料庫端。這也可能表示你的主機資料庫端斷線。

    你確定使用了正確的使用者名稱和密碼嗎?
    你確定使用了正確的hostname?
    你確定資料庫端正常運作?
    如果你不確定以上這些原因,你應該聯繫你的主機商。如果你需要協助可以前往WordPress支援討論區。

  12. Wendy

    ps.
    本文我附上了我的網站url
    然後我的主機商是Hostmonster…..我在想說是不是因為讀取時間較長的關係所以容易撞在一起@@?
    另外目前使用中的外掛列表如下(有點多 用截圖的= =):

  13. max

    Wendy
    你好,看來WordPress Database Backup無法自動備份應該也是與你資料庫使用受限制有關係,請你還是與虛擬主機商討論一下方案,選擇適合你網誌使用的方案,才是解決問題的根本辦法。
    另外,為了避免你的網誌使用外掛程式資訊外露,我將你留言的圖片位置移除。

  14. Wendy

    max
    我今天詢問Hostmonster的客服
    他說很遺憾 目前沒有辦法提高連線數的限制…..QQ
    也給各位參考一下> <

    謝謝你的熱心回覆~~~

  15. 蘇主任

    我的網站最近一個月也遇到了這個問題
    目前正在跟主機商密切研究
    一直查不出問題所在
    困擾…

  16. max

    蘇主任你好,檢視一下網誌根目錄的Error Log,找看看有沒有什麼線索。

  17. Kris

    請問如果在手動更新時不小心誤刪了wp-config.php,還有方法可以搶救嗎?如果有,該從哪裡開始救起?

  18. max

    Kris 你好,如果是承租虛擬主機,請主機商幫忙回復誤刪之前狀況會比較容易。如果是自己管理的主機,那麼可以再建一個wp-config.php檔案,重新上傳即可。重建檔案時記得將檔案內的資料庫名稱使用者密碼等等資料輸入正確。還有也請備份自己的資料庫跟檔案先。

網站架設

WordPress 虛擬主機免費安裝設定