天天看點

備份

"myisam 存儲引擎( 非事物存儲引擎 ):所有資料都存放在 mysql 配置中所設定的 datadir 目錄下。

myisam 存儲引擎除了備份 mysql 系統共有的實體檔案外,有三個檔案需要備份,記錄表結構中繼資料的 .frm 檔案、存儲表資料的 .myd 檔案、存儲索引資料的 .myi 檔案。

2、innodb 存儲引擎( 事務性存儲引擎 ):存放資料的位置取決于對 innodb 的相關配置。

決定 innodb 存放資料位置的參數:innodb_data_home_dir 、innodb_data_file_path 、innodb_log_group_home_dir( 指定了資料和日志檔案存放的位置 )

決定 innodb 表空間存儲方式參數:innodb_file_per_table( 決定 innodb 是以共享表空間還是獨享表空間存儲資料 )

如果使用共享表空間存儲方式,innodb 需要備份 innodb_data_home_dir 和 innodb_data_file_path 所設定的資料檔案及 datadir 中相應的資料目錄下的所有 innodb 存儲引擎表的 .frm 檔案。

如果使用獨享表空間存儲方式,除了備份上面所有檔案外,還要備份 datadir 中相應資料目錄下的所有 .idb 檔案( 該檔案中存放的才是獨享表空間方式下 innodb 存儲引擎表的資料 )。

## 使用獨享表空間時,資料并不是全部放在 datadir 下資料庫目錄下的 .ibd 檔案中,這裡存放的隻是表資料而以。

## innodb 是事務存儲引擎,它的 undo 和 redo 資訊,不管是使用獨享還是共享表空間存儲資料,與事務相關的 undo 資訊以及其它一些中繼資料資訊,

## 都是存放在 innodb_data_home_dir 和 innodb_data_file_path 這兩個參數所設定的資料檔案中的。是以這兩個目錄下的資料檔案不管什麼情況( 實體備份 )都必須備份。

innodb 還有自己存放 redo 資訊和相關事務資訊的日志檔案在 innodb_log_group_home_dir 參數所設定的位置,這裡的所有日志檔案也必須備份。"

三、備份政策

備份政策設計是否合理,關系到了所作備份是否能滿足需求,是以這是很重要的。

1、對于較為核心的線上應用業務,必須要有備用的主機通過 mysql 複制進行相應的備份,複制線程一直開啟,恢複線程一天恢複一次,盡量讓備份機資料延遲主機一段時間,一般為一天。    

這樣當資料丢失時,就可以通過增量備份快速恢複資料,甚至可以直接開放備份機對外提供服務。

2、對于重要級别稍微低一些的應用,恢複時間要求不是太高的話,可以不使用備份機,而采用周期性的實體全備份加每小時或每合适時間的二進制日志備份。

3、對于更為級别低一些的應用,恢複時間沒有太多要求,但不希望丢失太多資料,則可以采用定期邏輯全備份加二進制日志備份的方式。因為邏輯備份更為簡單,可以線上備份,不影響業務系統。""

4、如果是測試環境,那麼隻需做邏輯全備份即可。""