2012-07-11 25 views
1

我打算做一些壓力測試,現在我有一個非常巨大的MySQL轉儲文件,可以用作基準。導入MySQL轉儲的一部分(不是全部)

轉儲中只有一張表。

什麼是尷尬的是,我的服務器沒有太多的磁盤空間來實際持有這張表。所以我想只導入一些隨機部分的轉儲,而不是全部。

可能嗎?如果是,命令行是什麼樣的?

回答

1

MySQL轉儲文件只是充滿SQL語句的文本文件。編寫一個簡單的程序來讀取轉儲文件並將其隨機部分寫入新的轉儲文件。

1

難道你只是手動拆分文件?這些只是平面文本文件...所以打開它在你最喜歡的文本編輯器中,並刪除一半的文件(或無論你想要多少)。

2

我爲此創建了一個shell腳本。如果你是一個基於Unix的系統上,使用 https://github.com/JoyceBabu/MySQL-Dump-Table-Extractor

使用./extract_table.sh sqlfile.sql

要提取單個表中鍵入表名
爲了從表1中的所有表,以表2類型調用腳本table1 table2
查看所有可用表的列表類型LIST

+1

我正在使用17Gb轉儲文件,並且只需要提取它中的3個小表......您的腳本對我來說是一個救命的人,您可以考慮重構它一點點,增加一些新的littl e功能(比如可以僅提取單獨文件中的表格列表),但這已經很不錯了! – Jiedara 2017-05-29 13:26:24