Mysql 備份方式 MySQL Agent & MySQL Enterprise Backup & Percona XtraBackup


一、NetBackup for MySQL Agent 簡介

1.1關於 NetBackup for MySQL 代理

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

1.2NetBackup for MySQL 工作流程

代理從 nbmysql.conf 文件讀取參數,然后啟動操作。nbmysql.conf 文件包括必
須在運行相應操作之前設置的參數。代理與 MySQL 數據庫進行通信以創建快照。適用於 Windows 的卷影復制服務
(VSS) 或適用於 Linux 的邏輯卷管理器 (LVM) 創建數據庫的快照。然后,代理與NetBackup XBSA接口進行交互以更新服務器名稱、策略和日程表類
型信息。NetBackup 主服務器連接到 NetBackup 客戶端以備份或檢索要保護的數據。代理裝入快照,復制文件,然后將其發送到 NetBackup XBSA 接口。
NetBackup XBSA 接口將此數據寫入由 NetBackup 介質服務器管理的裝入介質或磁盤存儲。

1.3操作系統和平台兼容性

驗證操作系統和平台是否支持 NetBackup for MySQL Agent。代理支持以下平台上的操作:
■ Red Hat Enterprise Linux (RHEL) 6.8 及更高版本
■ SUSE Enterprise Linux Server 11 SP3 及更高版本
■ Microsoft Windows Server 2008 R2 及更高版本
■ Microsoft Windows 8.1 及更高版本

二、MySQL Enterprise Backup

2.1簡介

MySQL Enterprise Backup 8.0.20是MySQL 8.0.20的備份實用程序。它是一個多平台的高性能工具,提供了豐富的功能,
例如“ 熱 ”(在線)備份,增量和差異備份,選擇性備份和還原,支持直接雲存儲備份,備份加密和壓縮以及許多其他有價值的功能特征。
經過優化以用於InnoDB表,MySQL Enterprise Backup能夠備份和還原由MySQL支持的任何類型的存儲引擎創建的各種表。
它的讀寫過程(在獨立的,多個線程中執行)的並行性和塊級並行性(不同的線程可以在單個文件中讀取,處理或寫入不同的塊),可以以很高的速度完成備份和還原過程,
並且與logical backup使用mysqldump之類的工具 相比,通常可以顯着提高性能 。
MySQL Enterprise Backup是用於維護和保護MySQL數據以及在發生事故或災難時快速可靠地進行恢復的寶貴工具。它是MySQL企業版的一部分,可根據商業許可向訂戶提供。

2.2備份過程

通常,使用mysqlbackup運行備份操作時會發生以下情況:

a.當數據庫服務器照常運行時,InnoDB數據文件,重做日志,二進制日志和中繼日志文件(當前正在使用的日志文件除外)將被復制到備份中。

在此期間,InnoDB表的數據和結構可能已更改。因此,以下某些步驟用於確保備份中捕獲了這些更改。

b.一個備份鎖 應用服務器實例。它阻止InnoDB表上的DDL操作(用戶創建的臨時表上的操作除外),但不阻止DML操作(除了二進制日志未捕獲的操作(如數據庫的管理更改)之外的DML操作)。仍然允許數據庫上的大多數讀寫活動。應用此鎖定后, mysqlbackup掃描自步驟1開始已由DDL操作修改過的InnoDB表,並相應地更改備份。

c.一條 語句應用於所有非InnoDB表(對於8.0.18及更高版本,僅適用於要包含在備份中的非InnoDB表),然后復制與備份相關的所有非InnoDB表。 FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK

d.如果數據庫上不存在用戶創建的非InnoDB表,則將跳過此步驟。

e.對服務器上的日志記錄活動進行了簡短的阻止,以便mysqlbackup收集與日志記錄有關的信息,例如當前的InnoDB LSN,二進制日志位置,GTID,復制主服務器或從屬服務器狀態,等等。

f.非InnoDB表上的讀取鎖已釋放。

g.使用來自上面第4步的信息,復制當前正在使用的二進制或中繼日志文件的相關部分。這確保了自第1步以來對InnoDB表的所有最近更改都已捕獲到備份中,因此可以稍后將它們應用於原始備份數據,以使還原的服務器進入一致狀態。

h.該備份鎖定的服務器實例被釋放。數據庫現在返回到其正常操作。

i.之前尚未復制的重做日志文件以及備份的所有元數據文件都已復制或創建。

j.備份操作完成,並且 mysqlbackup返回成功。

2.3兼容性

與MySQL版本的兼容性
MySQL Enterprise Backup 8.0.20僅支持MySQL 8.0.20。
對於MySQL 8.0的早期版本,請使用與服務器相同版本號的MySQL Enterprise Backup版本。
對於MySQL 5.7,請使用MySQL Enterprise Backup 4.1。
對於MySQL 5.6和更早版本,請使用MySQL Enterprise Backup 3.12。
MySQL Enterprise Backup 8.0.20與早期的MySQL Enterprise Backup版本不兼容-不適用於使用它們創建的備份。

三、Percona XtraBackup

3.1 Percona XtraBackup

是 Percona 公司開發的一個用於 MySQL 數據庫物理熱備的備份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,並且全部開源,真可謂是業界良心。我們 RDS MySQL 的物理備份就是基於這個工具做的。

3.2 備份過程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM