按string的位置分割大型的sql文件,或者从上次的失败中启动sql

我有一个15GB的SQL文件,这是一个数据库的备份。 我遇到的问题是中途,它失败了。 幸运的是,我知道哪张桌子可以拿起。

有没有一种方法,我可以拆分这个SQL文件的表我从需要拿起或可能得到MySQL本身做到这一点的起点?

谢谢

您可以使用sed来使用范围来分割文件

 sed -n '/Start Text/,/End Text/p' >part.sql 

当find/Start Text/时,将开始打印,并将继续打印,直到到达/End Text/或文件结束。 确保Start Text是独特的起点和End Text不在文件中。

您可以使用split命令(查看行计数选项),也可以使用带有字节偏移量的dd (使用grep -b查找)从转储文件中提取。

这是一个博客文章 ,涵盖了这个过程(这是我在网站上的其他地方给出的答案,并决定在博客解决scheme)。