MySQL備份恢復工具mysqldump

簡要說一下MySQL的備份類型:

    熱備份:讀、寫不受影響

    溫備份:僅可以執行讀操作

    冷備份:離線備份,讀、寫操作都中止

    

    物理備份:直接複製數據文件

    邏輯備份:將數據導出至文本文件中

    

    完全備份:備份全部數據

    增量備份:僅備份上次完全備份或增量備份以後變化的數據

    差異備份:僅備份上次完全備份以來變化的數據


MySQL的備份工具:

    mysqldump:邏輯備份工具,適用於小規模數據庫,MyISAM(溫備),InnoDB(熱備)

    mysqlhotcopy:物理備份工具,溫備份

    cp:直接複製,冷備

    lvm:邏輯卷的快照功能,可實現幾乎熱備

    xtrabackup:percona官方提供的mysql數據庫備份工具(開源)

    ibbackup:商業工具


MySQL備份策略:

    MyISAM:最好使用溫備份

    InnoDB:可以直接使用熱備份

xtrabackup:物理備份工具

mysqldump:邏輯備份工具


mysqldump一些常用選項:

    --master-data={0|1|2}

        0:不記錄二進制日誌文件及其事件位置

        1:以CHANGE MASTER TO的方式記錄位置,可用於恢復後直接啓動從服務器

        2:以CHANGE MASTER TO的方式記錄位置,但默認爲被註釋

    --lock-all-tables, -x:鎖定所有表

    --flush-logs, -F:執行日誌滾動

    --events, -E:備份事件調度器

    --routines, -R:備份存儲過程和存儲函數

    --triggers:備份觸發器

    --all-databases, -A:備份所有庫

    --databases, -B DB_NAME DB_NAME ...:備份指定庫


注意:如果指定庫中的表類型均爲InnoDB,可使用--single-transaction啓動熱備,同時也建議使用熱備,不建議使用溫備,不能與--lock-all-tables一起使用。


MyISAM溫備份示例:

    1、備份單個指定數據庫

    # mysqldump -uroot -p --master-data=2 --lock-all-tables --flush-logs db_name > db.sql

    2、備份所有數據庫

    # mysqldump -uroot -p --master-data=2 --lock-all-tables --flush-logs --all-databases > db.sql

    3、備份多個指定數據庫

    # mysqldump -uroot -p --master-data=2 --lock-all-tables --flush-logs --databases db_name db_name > db.sql


InnoDB熱備份示例:

    1、備份單個指定數據庫

    # mysqldump -uroot -p --master-data=2 --single-transaction --flush-logs db_name > db.sql

    2、備份所有數據庫

    # mysqldump -uroot -p --master-data=2 --single-transaction --flush-logs --all-databases > db.sql

    3、備份多個指定數據庫

    # mysqldump -uroot -p --master-data=2 --single-transaction --flush-logs --databases db_name db_name > db.sql



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章