如何修復MySQL中標記為錯誤或損壞的表

一年多以前,我們使用了適用於WordPress的Counterizer插件,從而保持了博客及其讀者的統計信息,該插件幾天前被停用,因為(除其他外)它在數據庫中保存了600MB以上的數據。

碰巧的是(在停用插件並清理數據庫之前),我試圖轉儲數據庫,即將其導出到.SQL並下載,然後在託管終端中出現以下錯誤:

mysqldump:得到錯誤:144:使用鎖定表時,表'./dl_database/Counterize_Referers'被標記為崩潰,並且上次(自動)修復失敗

因此,轉儲並沒有進行得很好......光是認為DesdeLinux DB有問題的想法就讓我毛骨悚然

通過在Web上進行一些研究,我能夠學習如何解決此問題,顯然不是數據庫確實有問題,只是表被標記為“有問題”,幸運的是,此問題很容易解決。

首先,讓我們訪問MySQL服務器:

mysql -u root -p

我們按[Enter],它將詢問我們MySQL的root密碼,我們將其放置並再次按[Enter]。

如果MySQL服務器安裝在同一台計算機上,則使用此命令,如果要遠程連接到另一台MySQL服務器,則必須在該行中添加以下內容: -h服務器的IP

進入MySQL後,我們將告訴您要使用哪個數據庫,例如,根據上面的錯誤,問題在表中 Counterize_Referers 從數據庫中  dl_數據庫, 以便:

use database dl_database;

現在修復表基:

repair table Counterize_Referers;

請注意,在這些行的末尾有一個分號-»  ;

一旦執行了上一個命令,一切都應該恢復正常,至少在我的情況下,它已經不止一次是這樣了 

然後,僅需再次執行指令以轉儲數據庫,瞧,僅此而已。

無論如何,我這樣做比其他任何事情都更重要的是作為給自己的備忘錄,因為同樣的事情已經在我身上發生過兩次,我不想忘記拯救世界的指示 

問候,希望對其他人有幫助。


在 Google 中將其新增為首選來源