ダンプされた.sqlMyISAMデータベースをMySQLサーバーにインポートする前にInnoDBエンジンに変換できますか?残念ながら、現在の.sqlファイルのインポートは完了するまでに時間がかかります。
sed
を使用してengine myisam
を検索し、それをengine innodb
に置き換えることができます。
sed -e 's/engine myisam/engine innodb/g' file.sql > file_innodb.sql
インポートする前に本当にエンジンを変更したい場合は、検索/交換が唯一の方法です。 MyISAMをInnoDBに変更することでインポートを高速化できるかどうかはわかりませんが、いくつかの点を考慮してください。
大きなダンプがある場合は、インポートにphpMyAdminを使用しないでください。 phpMyAdminでは、最大実行時間などのphp制限を課し、インポートが失敗する可能性があります。コマンドライン(Windowsの場合はCMD、Linuxの場合はターミナル)を使用してmysqlにログインし、ダンプをインポートします。これはかなりうまく機能します。2.5GBのファイルを問題なくインポートしました。
インポートの速度は、ダンプ自体にも依存します。レコードごとに1つの挿入ステートメントを使用してダンプが作成された場合、その方法は遅くなります。エクスポート中に「すべてのINSERTステートメントに複数の行を挿入する」を選択すると、インポートがはるかに高速になります