MySQL備份概述

Ⅰ、備份類型

這裏介紹三種全量備份mysql

1.1 熱備(hot backup)

  • 在線備份
  • 對應用基本無影響(應用程序讀寫不會阻塞,可是性能仍是會有降低,因此儘可能不要在主上作備份,在從庫上作)

1.2 冷備(cold backup)

  • 備份數據文件,須要停機
  • 備份datadir目錄下的全部文件

只拷貝這個目錄能夠嗎?實際undo、redo、binlog能夠配置不一樣的目錄,可能不在datadir下sql

特殊狀況:數據庫

create table zz(a int) data directory = '/tmp/'

有這個狀況怎麼辦呢?備份時候解析每一個表的data directory?因此 不建議用這東西建表工具

tips:
問:redo、undo、binlog放hdd上,數據放ssd?性能

答:不必,如今ssd很便宜,順序性也不差,三四塊盤作個raid蠻好的,不必分開,話說回來,冷備機會很少,要停機,不可接受code

1.3 溫備(warm backup)

  • 針對myisam的備份(myisam不支持熱備),備份時候實例只讀不可寫
  • 對應用影響很大
  • 一般加一個讀鎖

Ⅱ、MySQL熱備工具

2.1 ibbackup

  • 官方備份工具
  • 收費
  • 物理備份

2.2 xtrabackup

  • 開源社區備份工具
  • 開源免費,上面那東西的免費版本(老版本有問題,備份出來的數據可能有問題)
  • 物理備份 

2.3 mysqldump

  • 官方自帶備份工具 開源免費
  • 邏輯備份(速度慢)
  • 不阻塞dml,阻塞ddl

Ⅲ、邏輯備份vs物理備份

- 邏輯備份 物理備份
備份方式 備份數據庫邏輯內容 備份數據庫物理文件
優勢 備份文件相對較小,只備份表中的數據與結構 恢復速度比較快(物理文件恢復基本已經完成恢復)
缺點 恢復速度較慢(須要重建索引,存儲過程等) 備份文件相對較大(備份表空間,包含數據與索引,碎片)
對業務影響 緩衝池污染(把全部數據讀一遍,讀到bp中),I/O負載加大 I/O負載加大
表明工具 mysqldump ibbackup、xtrabackup

tips:
通常從如下幾個維度考慮備份方式:索引

  • 備份速度
  • 恢復速度
  • 備份大小
  • 對業務影響
相關文章
相關標籤/搜索