我有一個大小約6GB的數據庫,它有一個1260萬行的表。我試圖通過對數據庫中導出到一個SQL轉儲:mysqldump做部分備份 - 不完整的錶轉儲
的mysqldump -u根-p DB_NAME> db_name.sql
當命令完成後,導出的SQL轉儲文件只是2GB和主表了僅輸出約100萬行。
什麼可能是錯的?
我有一個大小約6GB的數據庫,它有一個1260萬行的表。我試圖通過對數據庫中導出到一個SQL轉儲:mysqldump做部分備份 - 不完整的錶轉儲
的mysqldump -u根-p DB_NAME> db_name.sql
當命令完成後,導出的SQL轉儲文件只是2GB和主表了僅輸出約100萬行。
什麼可能是錯的?
還有就是由於某種原因,來解決這個問題最簡單的方法了2GB大小限制使用split
:
mysqldump ... | split -b 250m - filename.sql-
您也可以壓縮文件是這樣的:
mysqldump ... | gzip -9c | split -b 250m - filename.sql.gz-
恢復從非壓縮文件中執行此操作:
cat filename.sql-* | mysql ...
對於壓縮d文件:
cat filename.sql-* | zcat | mysql ...
當然,如果你想有一個單一的文件,然後,可以tar
結果。
顯然,如果您願意,您可以用不同的尺寸替換250m
。
您的文件系統可能僅限於2GB文件。
可能不足以壓縮它 – 2011-04-14 03:31:11
發生這種情況是因爲某些SQL轉儲的轉儲數據大小有限。 如果超出限制,則無法轉儲數據庫。
如果你真的想這樣做,你必須壓縮數據庫。通過使用ZIP,GZIP等。在傾銷數據之前。
這是一個很好的解決方法,但我強烈建議您將數據轉儲到可處理任意大小文件的位置。否則,你正在尋找頭痛。它應該像處理較大文件的文件系統重新格式化一樣簡單。 – Mikecito 2011-04-14 03:32:15
命令中的'...'連接到數據庫並選擇表格,就像您在原始文章中所用的那樣。 – 2011-04-14 03:32:34
我不知道重新格式化文件系統總是一個非常簡單的選擇。 – 2011-04-14 03:33:16