如何在导入MySQL转储文件时覆盖ENGINE=INNODB参数?
我有一个大转储(几十GB),我想将它导入一个新表,而不考虑ENGINE=INNODB参数 我尝试了几个专门用于编辑转储文件的编辑器,但保存修改总是需要很多时间,因此忽略ENGINE=INNODB参数并覆盖它(例如使用默认引擎)会更有意义如何在导入MySQL转储文件时覆盖ENGINE=INNODB参数?,mysql,database,import,innodb,mysqldump,Mysql,Database,Import,Innodb,Mysqldump,我有一个大转储(几十GB),我想将它导入一个新表,而不考虑ENGINE=INNODB参数 我尝试了几个专门用于编辑转储文件的编辑器,但保存修改总是需要很多时间,因此忽略ENGINE=INNODB参数并覆盖它(例如使用默认引擎)会更有意义 导入然后更改引擎不是一个选项,因为InnoDB导入转储的速度非常慢,因此需要几天时间。如果您使用的是linux/unix系统,那么使用sed进行就地编辑如何 sed -i 's/ENGINE=INNODB/ENGINE=MYISAM/g' filename m
导入然后更改引擎不是一个选项,因为InnoDB导入转储的速度非常慢,因此需要几天时间。如果您使用的是linux/unix系统,那么使用sed进行就地编辑如何
sed -i 's/ENGINE=INNODB/ENGINE=MYISAM/g' filename
mysqldump--compatible=no_table_选项
为我工作值得一提的是,如果数据库中的某些数据实际上包含文本
ENGINE=INNODB
,则此命令将损坏数据。使用sed-i-re的/^(\)ENGINE=)INNODB/\1MyISAM/gi'
,它应该是安全的,因为实际数据中不应该有未编码的换行符。Great停顿了很多。谢谢:)