142

このテーブルを修復していましたが、サーバーが突然ハングしました。戻ったときにすべてのテーブルに問題はありませんが、このテーブルには「使用中」と表示され、修復しようとしても続行されません。

エラー144-テーブル'./extas_d47727/xzclf_ads'はクラッシュとしてマークされ、最後の(自動?)修復に失敗しました

修理するにはどうすればよいですか?

4

11 に答える 11

292

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
于 2012-01-12T23:22:48.840 に答える
127

次のクエリを実行してみてください。

repair table <table_name>;

私は同じ問題を抱えていて、問題を解決しました。

于 2014-09-11T01:02:03.580 に答える
15

/var/lib/mysql への移動中に権限が拒否される場合は、次の解決策を使用してください

$ cd /var/lib/
$ sudo -u mysql myisamchk -r -v -f mysql/<DB_NAME>/<TABLE_NAME>
于 2013-11-08T07:33:41.780 に答える
13

これは、この問題を解決する私の経験でした。XAMPPを使用しています。以下のエラーが発生していました

 Fatal error: Can't open and lock privilege tables: Table '.\mysql\db' is marked as crashed and last (automatic?) repair failed  

これは、段階的に解決するために私が行ったことです。

  1. 場所 C:\xampp\mysql に移動しました。場所が異なる場合があります。正しいファイルの場所にいることを確認してください。
  2. data-old として data フォルダーのバックアップを作成しました。
  3. C:\xampp\mysql\backup からフォルダー「mysql」をコピーしました
  4. C:\xampp\mysql\data\ 内に貼り付けて、古い mysql フォルダーを置き換えます。

そしてそれはうまくいきました。覚えておいてください、私はすでに約10のソリューションを試しましたが、うまくいきませんでした. この解決策はうまくいく場合とうまくいかない場合がありますが、何かをする前にデータ フォルダーのバックアップを作成してください。

注: 私は常に修復コマンドでこれを解決することを選択しますが、私の場合、mysql をまったく起動できず、myisamchk コマンドを機能させることができませんでした。

何をするにしても、データベースの定期的なバックアップを作成してください。

于 2021-02-12T14:10:37.430 に答える
7

修復ステートメントを機能させるには、USE_FRM を追加する必要がありました。

REPAIR TABLE <table_name> USE_FRM;
于 2017-05-10T13:13:52.320 に答える