2010-07-26 97 views

回答

5

mysqldump命令默認轉儲數據。只需簽發mysqldump dbname > dump將生成一個包含模式和數據的轉儲。

要加快轉儲速度,請使用--opt參數,該參數打開一些選項,如表鎖定,快速擴展插入和字符集。如果數據庫不適合內存,使用--quick(由--opt設置)是加速轉儲的好方法。使用 - 如果在轉儲過程中無法鎖定表格,單獨使用。

如果你的磁盤是緩慢的,它寫入磁盤之前壓縮數據:

mysqldump --opt dbname | gzip - > dump 
+0

你是什麼意思「單獨使用」?單獨使用--quick標誌? 我實際上買不起鎖表 – 2010-07-26 07:23:27

+0

是的,我的意思是--quick標誌:mysqldump --quick dbname | gzip - > dump – jmz 2010-07-26 07:29:49

+0

通過不鎖定表,你會犧牲什麼? – 2012-09-14 22:16:42

1

默認情況下插入是傾倒的。

如果你想要轉儲所有的表,只需要精確的數據庫,否則給表名。

mysqldump [options] [db_name [tbl_name ...]] 

爲了贏得空間,您可以使用該標誌

--compact 

而且這種快速處理您可以使用

--quick 

我猜想所有這些信息可用做man mysqldump

+0

請注意''--compact'只是'--skip-add-drop-table,--skip-add-locks,--skip-comments,--skip-disable-keys的簡寫,和--skip-set-charset',這將只保存每個表的連續行數*和*將改變轉儲的重載方式。 – Unreason 2010-07-26 07:33:11

0

你應該明確地閱讀manual pages for mysqldump,還有,你應該照顧許多選項(做什麼用的二進制日誌做,表格鎖定,二進制字段格式等)

之後運行mysqldump --help - 它會告訴你哪些選項默認打開或關閉。最後,如果設置各種選項不會帶來所需的性能,有人建議設置複製並備份從屬設備,但這屬於硬件加速的範疇(如更快的存儲速度等等。 。)