Linux

按字元串的位置拆分大型 sql 文件或從上次失敗開始 sql

  • December 6, 2011

我有一個 15GB 的 sql 文件,它是數據庫的備份。我遇到的問題是,它進行到一半,它失敗了。幸運的是,我知道從哪張桌子上拿。

有沒有一種方法可以通過我需要從中提取的表的起點來拆分這個 SQL 文件,或者讓 mysql 自己來做這件事?

謝謝

您可以使用sed範圍分割文件

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

這將在/Start Text/找到時開始列印,並將繼續列印直到/End Text/或到達文件末尾。確保Start Text對於起點是唯一的並且End Text不在文件中。

您可以使用split命令(查看行數選項),也可以使用dd字節偏移量(使用 找到grep -b)從轉儲文件中提取。

這是一篇涵蓋該過程的部落格文章(這是我在網站其他地方給出的答案,並決定將解決方案寫在部落格上)。

引用自:https://serverfault.com/questions/338210