1、NBUfor MySQL
NetBackup for MySQL Agent 擴展了NetBackup 的功能,以包括MySQL 數據庫的備份和還原操作。代理位於NetBackup 客戶端上並支持獨立的設置操作。代理支持MySQL 版本5.5.5 及更高版本。NetBackup for MySQL Agent 除備份、恢復功能外,還支持:
-
驗證備份信息。
-
查詢備份。
-
從目錄庫文件中刪除備份信息。
-
將還原重定向到不同於最初執行備份的客戶端的另一客戶端。
2、備份流程

NetBackupfor MySQL Agent 整體備份流程為:
-
Agent向Mysql發出創建備份快照命令(flush tables with read lockt等)。
-
Mysql成功執行命令后,Agent向服務器發出VSS/LVM相關創建快照命令。
-
快照創建成功后,掛載快照,並把MySQL備份數據發送給NBU Server。
-
NBU Server把相關備份數據上傳存儲單元。
-
NBU Serve把備份狀態回傳給Agent。
3、恢復流程

NetBackupfor MySQL Agent 整體恢復流程為:
-
Agent向NBU Server發出恢復命令。
-
NBU Server讀取相關配置信息,把相應備份數據傳給Agent。
-
Agent利用備份數據進行恢復。
手工快照備份、恢復
NetBackup forMySQL備份原理非常簡單,就是利用VSS/LVM的快照進行的數據備份,因為創建快照非常快,因此這種方式的數據庫備份也對數據庫影響最小。但利用快照進行MySQL數據庫備份必須保證MySQL實例、lv是一對一的關系。接下來我就利用快照這種方式進行人工備份。
備份
1.確保MySQL實例使用單一lv

2.創建快照
以操作系統用戶root,使用mysql客戶端登陸MySQL數據庫,以避免在mysql、操作系統間切換。
首先在mysql中,執行“flushtables with readlock”,使數據庫把臟數據寫回磁盤並處於只讀狀態,以保證數據備份的完整、一致性,其次記錄當前的事務信息及binlog位點信息,以方便以后建立主從關系,最后創建當前mysql數據庫所使用lv的快照並釋放相關鎖。

3.備份數據
快照創建成功后,查看lv及其快照信息

掛載快照

利用快照,進行相關數據備份

恢復
把上述備份數據傳至其它主機,並在該主機創建掛載點/data,把數據還原至該掛載點即可

把備份數據解壓至相應目錄

啟動數據庫

NetBackup for MySQL備份原理比較簡單,首先發出執令“flushtable with read lock”、“showmasterstatus”至數據庫,使數據庫當前所有臟數據寫回磁盤,並讓數據庫處理“靜止”狀態,獲取數據庫當前事務信息及binlog位點信息;其次必執行至操作系統,創建VSS/lvm相關快照,最后發“unlocktables”至數據庫,使數據庫回復正常。整個過程非常簡單,耗時相對比較少,整體來說效率比較高且對數據庫影響最小。最后再利用快照進行真正的數據備份。利用快照這種方式進行數據備份,必須保證MySQL實例與lv是一對一關系,並且保證lv所在vg有足夠的空間,對於變更特別頻繁的數據庫來說,vg的剩余空間得和lv一樣。
