このテーブルを修復していましたが、サーバーが突然ハングしました。戻ったときにすべてのテーブルに問題はありませんが、このテーブルには「使用中」と表示され、修復しようとしても続行されません。
エラー144-テーブル'./extas_d47727/xzclf_ads'はクラッシュとしてマークされ、最後の(自動?)修復に失敗しました
修理するにはどうすればよいですか?
If your MySQL process is running, stop it. On Debian:
sudo service mysql stop
Go to your data folder. On Debian:
cd /var/lib/mysql/$DATABASE_NAME
Try running:
myisamchk -r $TABLE_NAME
If that doesn't work, you can try:
myisamchk -r -v -f $TABLE_NAME
You can start your MySQL server again. On Debian:
sudo service mysql start
次のクエリを実行してみてください。
repair table <table_name>;
私は同じ問題を抱えていて、問題を解決しました。
/var/lib/mysql への移動中に権限が拒否される場合は、次の解決策を使用してください
$ cd /var/lib/
$ sudo -u mysql myisamchk -r -v -f mysql/<DB_NAME>/<TABLE_NAME>
これは、この問題を解決する私の経験でした。XAMPPを使用しています。以下のエラーが発生していました
Fatal error: Can't open and lock privilege tables: Table '.\mysql\db' is marked as crashed and last (automatic?) repair failed
これは、段階的に解決するために私が行ったことです。
そしてそれはうまくいきました。覚えておいてください、私はすでに約10のソリューションを試しましたが、うまくいきませんでした. この解決策はうまくいく場合とうまくいかない場合がありますが、何かをする前にデータ フォルダーのバックアップを作成してください。
注: 私は常に修復コマンドでこれを解決することを選択しますが、私の場合、mysql をまったく起動できず、myisamchk コマンドを機能させることができませんでした。
何をするにしても、データベースの定期的なバックアップを作成してください。
修復ステートメントを機能させるには、USE_FRM を追加する必要がありました。
REPAIR TABLE <table_name> USE_FRM;