我有一个很大的转储文件(数十GB),我想将其导入到一个新表中,但不需要遵守ENGINE=INNODB参数。 我尝试了几个专门用于编辑大文件的编辑器来编辑转储文件,但总是需要很长时间保存修改,所以最好的方法就是忽略ENGINE=INNODB参数并覆盖它(例如使用默认引擎)。 导入后再更改引擎不是一个选项,因为InnoDB非常慢,会花费数天时间来导入转储文件。
ENGINE=INNODB
,那么这个命令会破坏数据。 - Asaphsed -i -re 's/^(\) ENGINE=)INNODB/\1MyISAM/gi'
命令,这应该是安全的,因为实际数据中不应该有未编码的换行符。 - Stefan Seidel