编辑非常大的sql dump/text文件(在linux上)

geo*_*geo 15 linux mysqldump large-files

我必须导入一个大的mysql转储(最多10G).但是,已经使用具有索引定义的数据库结构预定义了sql转储.我想通过删除索引和表定义来加速数据库插入.

这意味着我必须删除/编辑10G文本文件的前几行.在linux上执行此操作的最有效方法是什么?

需要将整个文件加载到RAM中的程序对我来说太过分了.

rmm*_*mmh 32

不要删除前几行,而是尝试将它们编辑为空格.

hexedit程序可以执行此操作 - 它以块的形式读取文件,因此打开10GB文件与打开100KB文件没有什么不同.

$ hexedit largefile.sql.dump
tab (switch to ASCII side)
space (repeat as needed until your header is gone)
F2 (save)/Ctrl-X (save and exit)/Ctrl-C (exit without saving)
Run Code Online (Sandbox Code Playgroud)


sie*_*dil 5

joe是一个可以很好地处理大文件的编辑器。我只是用它来编辑一个 ~5G SQL 转储文件。打开文件大约需要一分钟,保存它需要几分钟,很少使用交换(在具有 4G RAM 的系统上)。