mysqldump 的瞭解


mysqldump SQL級別的MySQL備份機制,將數據表導成SQL腳本文件;
其一些常見但容易忘記的參數記錄如下:
--default-character-set=utf8
--opt #快捷的導出,如果不加該選項,將整個結果節放在內存中,若導出大數據庫會出現問題
--quick #在導出大表時很有用,它強制mysqldump從服務器查詢取得記錄直接輸出,而不是取得所有記錄後將它們緩存到內存中
--hex_blob
--extended-insert=false
--single-transaction #在導出數據之前提交一個BEGIN 語句,BEGIN不會阻塞應用程序且能保證導出時數據庫的一致性,只適用事務表,如InnoDB/BDB
#開啓該選項,自動關閉--lock-tables,因lock tables會使任何掛起的事務隱含提交.
--lock-all-tables #在導出之前,提交請求鎖定所有數據庫的所有表,以保證數據的一致性,這是個全局鎖,且自動關閉--single-transaction/--lock-tables
--lock-tables #僅鎖定需要導出的數據表,而非所有庫下數據表,只適用MyiSAM,如果是InnoDB,使用--single-transaction
--master-data 1/2
--flush-log #1.多個庫情況下,每完成一個庫,flush log一次;2.加--lock-all-tables/--master-data選項,flush log只一次,因那一刻所有表
#是locked,--lock-all-tables/--master-data選項和flush log一起使用
--delete-master-log
--no-create-info #只導出數據,不加create table語句
--no-data #只導出表結構,不導出任何表數據


更詳細請參閱:mysqldump --help

例:
mysqldump -hxx -P3306 -uroot -p'xxxx' --default-character-set=utf8 --opt/--quick --single-transaction(InnoDB)/--lock-tables(MyiSAM)

-R -x -E dbname > dbname.sql




發佈了20 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章