テーブルはクラッシュしたとマークされており、修復する必要があります


190

ワードプレスのphpMyadminでこのエラーが発生しています

#145 - Table './DB_NAME/wp_posts' is marked as crashed and should be repaired 

phpMyadminにログインすると、wp_postsが「使用中」と表示されます

このため、私のウェブサイトは現在ダウンしています。

私はこの問題をググりましたが、phpMyadminに「修復」ボタンが表示されません。これを修正する方法を教えてください。PHPコマンドを発行する場所がわかりません。私のPHPの習熟度は非常に基本的なものです。

回答:



183

これをサーバーのコマンドラインから実行します。

 mysqlcheck --repair --all-databases

45
「アクセス拒否」エラーを回避するには、このコマンドにユーザー名とパスワードを追加する必要がある場合があります。mysqlcheck -uroot -p --repair --all-databasesパスワードを入力します。
wruckie

118

サーバーの使用可能な空きディスク容量が0の場合にも同じ問題が発生しました

コマンドを使用できます(mysqlファイル用の十分なスペースが必要です)

REPAIR TABLE `<table name>`;

個々のテーブルを修復するため


役に立ちました。突然問題が発生したDrupal v7.6x UCテーブルでこの問題が発生しました。上記のようにphpMyAdmin SQLコンソールでREPAIR TABLEコマンドを発行して修正しました。stackoverflowの良さに感謝します!! 乾杯!
ポールB

25

SSH経由でサーバーに接続する

次に、mysqlコンソールに接続します

そして

USE user_base
REPAIR TABLE TABLE;

-または-

現在のデータベースに壊れたテーブルがたくさんある場合:

mysqlcheck -uUSER -pPASSWORD  --repair --extended user_base

多くのデータベースに壊れたテーブルがたくさんある場合:

mysqlcheck -uUSER -pPASSWORD  --repair --extended -A

2
パスワードをコマンドラインに入力しないでください。パスワードは、安全でない方法と場所で履歴に保存されます。mysqlコマンドを使用すると、パラメーターを-p単独で渡すことができ、次にパスワードを要求されます。
Thierry J.

7

このエラーが発生したとき:

#145-テーブル '。\ engine \ phpbb3_posts'はクラッシュしたとマークされており、修復する必要があります

このコマンドをPhpMyAdminで実行して修正しました。

REPAIR TABLE phpbb3_posts;

6

これは、MySQLテーブルが破損しており、修復する必要があることを意味します。使用する

myisamchk -r /DB_NAME/wp_posts

コマンドラインから。修復を実行している間は、Webサイトを一時的にシャットダウンして、修復中にデータベースへの新しい接続が試行されないようにする必要があります。


私は上のコメントにこれを尋ねましたが、彼はログアウトしていると思いますので、もう一度お願いします。「ありがとうございます。私のサイトは再びオンラインに戻りました。データベースが壊れて再度修復したので、何か心配する必要がありますか。それが他に何か問題を起こしたかどうか調査する必要がありますか。すべての?"
John Connor、

何も心配する必要はありません。データベースが修復されると、サイトは再び機能します。ある時点で再び破損する可能性があります。それは起こります。もう一度修復するだけです。また、定期的にバックアップを行ってください。問題はありません
Dmitri
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.