2011-10-12 23 views
8

大きなダンプ(数十GB)があり、ENGINE = INNODBパラメータを守らずに新しいテーブルにインポートしたいと思います。MySQLダンプファイルのインポート中にENGINE = INNODBパラメータを無効にするにはどうすればよいですか?

ダンプを編集するために大きなファイル専用のエディタをいくつか試しましたが、変更を保存するのに多くの時間がかかりますので、ENGINE = INNODBパラメータを無視してオーバーライドするほうがはるかに意味がありますデフォルトのエンジンで)。

InnoDBがダンプをインポートするのが非常に遅いため、エンジンをインポートしてから変更することはオプションではないので、数日かかるでしょう。

答えて

5

あなたはSED

sed -i 's/ENGINE=INNODB/ENGINE=MYISAM/g' filename 
+3

を働いたかのLinux/UNIXシステム上にある場合データベース内のデータの中に実際に 'ENGINE = INNODB'という文字が含まれていると、このコマンドはデータを破壊します。 – Asaph

+1

@Asaph - 良い点。 –

+3

'sed -i -re 's/^(\)ENGINE =)INNODB/\ 1MyISAM/gi''を使用すると、実際のデータにエンコードされていない改行を入れないでください。 –

7

mysqldump --compatible=no_table_options

のある場所の編集中に約それはいくつかの可能性は低い場合には、以下のことを言及する価値がある、私のため

関連する問題