- 錯誤型別:
- 資料庫錯誤
- 錯誤名稱:
- 客户端与MySQL服务器之间的连接断开
- 英文名稱:
- MySQL Server Has Gone Away
- 錯誤描述:
- 至于错误本身,正如您从名称中想象的那样,它与您的MySQL数据库有关。更具体地说,在大多数网站上,一般由三种原因会导致此错误产生。
資料庫是大多數現代網站的關鍵組成部分,因此影響您的網站的錯誤往往特別令人擔憂。例如,“MySQL server has go away”錯誤可能會讓您認為您的資料庫丟失了。這意味著您可能必須使用最新的備份來啟動和執行您的站點。
儘管聽起來很嚇人,但“MySQL server has go away”錯誤很容易修復。事實上,按照正確的說明,您的網站應該會在幾分鐘內備份並執行。
在本文中,我們將向您展示“MySQL server has go away”錯誤的示例,並分析WordPress中可能導致該錯誤的原因。然後我們將教您如何修復它並防止將來再次出現此錯誤。
“MySQL Server Has Gone Away”錯誤介紹
首先,讓我們快速看一下“MySQL server has go away”錯誤是什麼樣的:
瀏覽器顯示“MySQL server has go away”錯誤
錯誤本身非常簡單,而且幾乎總是以相同的方式出現。但是,根據您使用的瀏覽器和伺服器的配置,具體的措辭可能會有所變化。
至於錯誤本身,正如您從名稱中想象的那樣,它與您的MySQL資料庫有關。更具體地說,在大多數網站上,以下三種情況之一通常會導致此錯誤:
- 資料庫中有一個損壞的表。您的資料庫已損壞,因此您需要恢復到最近的備份或修復它。
- PHP的’timeout’設定太低。如果 PHP 指令碼需要訪問您的資料庫並且無法在設定的超時視窗內獲取資訊,這也可能觸發上述錯誤。
- 資料包要麼被丟棄,要麼太大。伺服器認為是這種情況,它基本上關閉了連線並丟擲錯誤。
幸運的是,所有這些問題都可以輕鬆解決。讓我們談談如何開始故障排除過程。
如何修復“MySQL Server Has Gone Away”錯誤
正如我們所見,這個特定的WordPress錯誤有幾個潛在的原因。
因此,有不同的可能解決方案。在大多數情況下,以下修復程式之一應該可以消除您網站上的錯誤。因此,如果一個不起作用,您可以簡單地轉到下一個。
1. 編輯WordPress的wp-db.php檔案
如果您網站的PHP超時設定太低且您的資料庫太大,則在該視窗期間獲取您需要的資料可能是一個問題。正如我們之前提到的,這會觸發“MySQL Server Has Gone Away”錯誤。
為了防止這種情況發生,您需要編輯一個名為wp-db.php 的WordPress 核心檔案。通過開啟wp-includes目錄,您可以在WordPress根資料夾中找到此檔案:
wp-db.php檔案
要訪問這些檔案,我們建議您使用FileZilla等FTP客戶端並通過SFTP連線。連線到站點後,找到wp-db.php,然後右鍵單擊它以使用預設的本地文字編輯器開啟檔案。
然後,在檔案中搜尋以下行:
$this->ready = true;
在該程式碼正下方新增以下行:
$this->query("set session wait_timeout=300");
這段程式碼的作用是將您的PHP超時值設定為300秒,這應該比防止出現任何錯誤所需的時間多得多。
現在將更改儲存到您的wp-db.php檔案並確保您的網站按預期載入。
2. 修復您的WordPress資料庫
有時,您的WordPress資料庫可能會損壞,這反過來又會在您嘗試與其建立連線時導致錯誤。這並不常見,但在正常網站的發展過程中,當您向資料庫中新增更多表(以及外掛和主題資訊)時,可能會發生這種情況。
要解決此問題,您可以使用內建的WordPress功能來修復您的資料庫。但是,首先,您必須啟用該功能。這涉及導航到您的WordPress根目錄並開啟wp-config.php檔案以對其進行編輯。
開啟檔案後,滾動到底部並向其新增以下行:
define('WP_ALLOW_REPAIR', true);
這行簡單的程式碼告訴WordPress啟用資料庫修復功能。將更改儲存到wp-config.php,然後關閉檔案。要執行該函式,只需訪問以下URL:
https://yourwebsite.com/wp-admin/maint/repair.php
然後WordPress會詢問您是要簡單地修復資料庫還是修復和優化它。第一個選項是修復“MySQL Server Has Gone Away”錯誤所需的全部內容:
WordPress中的修復資料庫選項
這個過程應該不會花很長時間,當它完成時,有問題的錯誤應該消失了。但是,您仍有一些清理工作要做,因為您需要禁用網站上的資料庫修復功能。如果不這樣做,任何人都可以通過訪問相同的URL來觸發它。
因此,在結束之前,請返回到您的WordPress根目錄並刪除您之前新增的程式碼行。然後儲存對檔案的更改並關閉它。
3. 通過您的託管服務提供商使用備份恢復您的網站
如果所有其他方法都失敗了,您始終可以使用網站的完整備份將其恢復到資料庫正常工作時的狀態。理想情況下,您將使用最近的備份執行此操作,以便儘可能少地丟失資料。
問題是並非所有WordPress網路主機都為其使用者提供內建備份功能。這意味著您經常無法使用外掛等手動解決方案。這些工具不一定是壞的,但是如果您無權訪問WordPress管理區域,那麼恢復備份就變成了一項艱鉅的任務。
但請記住:使用此功能將覆蓋您網站的當前版本。因此,當您確定不會丟失任何關鍵資訊時,您只會希望將其用作最後的手段。
小結
您的網站增長得越多,它需要儲存的資料就越多。所有這些資訊都會進入您的WordPress資料庫。在某些情況下,如果它變得太大,您可能會遇到諸如“MySQL Server Has Gone Away”之類的錯誤。
如果您遇到此特定錯誤,您可以通過以下三種方法擺脫它:
- 編輯WordPress的wp-db.php檔案。
- 修復您的WordPress資料庫。
- 通過您的託管服務提供商使用備份來恢復您的網站。
現在您知道如何修復,是時候真正擺脫這個煩人的錯誤訊息了。如果您仍然遇到 MySQL 問題,您可能需要檢視如何修復MySQL 1064錯誤。
評論留言