Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在导入MySQL转储文件时覆盖ENGINE=INNODB参数?_Mysql_Database_Import_Innodb_Mysqldump - Fatal编程技术网

如何在导入MySQL转储文件时覆盖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

我有一个大转储(几十GB),我想将它导入一个新表,而不考虑ENGINE=INNODB参数

我尝试了几个专门用于编辑转储文件的编辑器,但保存修改总是需要很多时间,因此忽略ENGINE=INNODB参数并覆盖它(例如使用默认引擎)会更有意义


导入然后更改引擎不是一个选项,因为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停顿了很多。谢谢:)