ibdata1でいくつかの一時テーブルを作成する必要があると思われるInnoDBテーブルの1つに条件付きDELETE
オペレーションを実行している間に、ハードディスクがいっぱいになり、mysqlがクラッシュしました。 ibdata1ファイル(〜30 GB)を削除するまで、私は再び起動することができませんでした。私.FRMの全てとなるように、私はinnodb_file_per_table
オプションを使用していたMySQL InnoDBテーブルが壊れています - 修正方法?
+-----------------------------------+--------+----------+---------+
| Table | Op | Msg_type | Msg_text |
+-----------------------------------+--------+----------+---------+
| mydb.table1 | repair | Error | Unknown table engine 'InnoDB' |
| mydb.table1 | repair | error | Corrupt |
+-----------------------------------+--------+----------+---------+
:私はREPAIR TABLE tablename EXTENDED
を行うときに私が取得(
は今、MySQLが再び始まりますが、データベース内のすべてのテーブルが壊れているように見えます。 /var/mysql/data/mydb/
ディレクトリにあるibdファイル(それぞれメタデータとデータを含んでいるはずです)は完全にそのままです(クラッシュ前と同じファイルサイズで):/var/mysql/data/mydb/
。誰かがどのようにこれらのテーブルを適切なものもう一度データ?
ありがとう!
破損前にフルバックアップを実行しましたか? – northpole
私はテーブル構造(--no-dataを使用)でバックアップをとったのは、残りのデータが〜100GBという膨大な量であり、別のスクリプトで再投入できるからです。しかし、私はまだそれぞれの.frmファイルを持つこれらの複数GBの.ibdファイルを持っているので、データはまだそこにあると思います。 MySQLが再びそれを読むようにする方法がわからないだけです。 – ash