将大量扩展插入转换为mysql的简单插入

时间:2011-04-19 20:54:30

标签: mysql regex scripting text query-optimization

我周末与EC2实例的长篇故事。将我在那里按摩的数据转储到685MB转储文件中以转移到我的服务器。清晨所以没有发现我有一个扩展插入选项。我没有访问临时数据库中的按摩数据,因为我认为我已经被转储文件覆盖了。

所以现在我有这个转储文件,其中包含一个包含一个带有1700万行的扩展插入的表。我服务器上的mysql对它窒息。

我找到了一个名为mysqdump-convert.pl的perl脚本,它将扩展插入转换为简单插入。我将其输出传输到一个新文件中,但在144MB的685MB任务之后它似乎已经窒息。

你知道还有其他可以处理这项任务的工具吗?感谢。

1 个答案:

答案 0 :(得分:1)

制作一个防弹脚本来做这件事会很痛苦。但是,仅仅为您的数据做这件事可能很容易。

如果您从这开始:

INSERT INTO tblTable VALUES (1,4,"String"),(2,4,"String"),(3,4,"String");

您可以使用自己喜欢的编辑器进行搜索和替换:

Find:   ,(
Replace with: ;\nINSERT INTO tblTable VALUES (

现在,浏览并确保它看起来正确并让它撕裂。