本發明專利技術的實施方式提供了一種數據備份方法及裝置。該方法包括:在基于全局事務標識GTID模式的數據庫中對從數據庫中的數據備份時,從所述從數據庫的復制進度信息中獲取復制的從數據庫中的數據在主數據庫的二進制日志文件中的最終復制位置;從所述主數據庫中獲取所述最終復制位置所在的目標二進制日志文件以及所述目標二進制日志文件之后的二進制日志文件。本發明專利技術的數據備份方法,在基于GTID模式的數據庫中進行備份時,在減少備份數據量、減少備份數據占用的存儲空間以及減少備份時間的同時,有效支持PIT恢復。此外,本發明專利技術的實施方式提供了一種數據備份裝置。
【技術實現步驟摘要】
本專利技術的實施方式涉及數據備份
,更具體地,本專利技術的實施方式涉及一種數據備份方法及裝置。
技術介紹
本部分旨在為權利要求書中陳述的本專利技術的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現有技術。MySQL是一個關系型數據庫管理系統(RelationalDatabaseManagementSystem,RDBMS)。MySQL是目前最流行的關系型數據庫系統,在WEB應用方面MySQL是最好的RDBMS應用軟件之一。隨著云計算在中國的普及,大多數云服務都是以開源數據庫MySQL搭建的,而且用戶在云服務器上搭建數據庫大多數也是采用MySQL數據庫。為了提高數據的穩定性,MySQL數據庫中大多會對主數據庫設置從數據庫,其中,主數據庫用于對用戶提供服務,從數據庫是主數據庫的備份,通過復制功能,與主數據庫的數據保持同步,從數據庫用以在主數據庫宕機以后,立即對用戶提供服務,以實現服務的高可用。現有MySQL數據庫中基于二進制日志文件在主數據庫和從數據庫之間的復制,實現主數據庫和從數據庫之間的數據同步,具體來說,以一主一從的情況為例,如圖1所示,主數據庫102數據更改時,將更改操作記錄在二進制日志Binary_log中,從數據庫104與主數據庫102進行數據同步時,請求獲取Binary_log,主數據庫102將Binary_log返回給從數據庫104,從數據庫104接收到主數據庫102返回的Binary_log后,將Binary_log中的日志記錄數據存儲為重做日志Relay_log,并從Relay_log中解析出在主數據庫102上執行的更改操作,并執行這些更改操作,也就是說,在主數據庫102和從數據庫104上執行同樣的數據庫操作,從而實現主數據庫102與從數據庫104的數據一致性。在數據同步時,Binarylog與Relaylog中的數據幾乎一樣,但是,二者之間對于同一更改操作記錄的文件名稱和偏移量并不相同,例如,一個更改操作在Binarylog中的位置可能是mysql-bin.000001:568,其中,冒號前的mysql-bin.000001部分為文件名稱,冒號后的568部分為文件的偏移量,而它在Relaylog中的位置可能是relay-log.000002:124。由于備份是一個耗時較長,代價較大的操作,為了避免備份對服務的影響,在關系型數據庫服務(RelationalDatabaseService,RDS)系統中,在備份時都是在從數據庫上進行全量備份,也即全部復制從數據庫中的數據進行備份。全量備份的優點是數據完整,恢復起來較快,缺點是數據量大,占用的存儲空間大。RDS系統除了提供全量備份的功能以外,還提供增量備份的功能。增量備份有兩種實現方式:(1)通過使用開源的備份工具,備份增量部分的物理數據;(2)拷貝主數據庫上的Binarylog,只備份增量部分的邏輯數據?,F在業界通用的增量備份方案是使用開源的備份工具(xtrabackup),通過備份增量的物理數據來實現增量備份,這種增量備份可以在從數據庫中進行增量備份,減少對業務的影響,但是,這種方案沒有考慮到基于時間點(Point-in-Time,PIT)恢復的需求。而在RDS系統實現中,通過拷貝主數據庫上的Binarylog實現增量備份的方式,有一個顯著的優點,能夠有效支持PIT恢復,但是這種方式在從數據庫上進行全量備份之后,從主數據庫中上復制Binarylog進行備份時,需要知道從Binarylog的哪個位置開始復制,也就是說,在從數據庫上進行全量備份之后,需要知道當前這個全量備份,與主數據庫的Binarylog的對應關系。換句話說,這種方式依賴于,備份工具在從數據庫上進行全量備份時,能夠確定出這個全量備份對應于主數據庫的Binarylog的位置,以便增量備份在主數據庫上復制Binarylog時,能夠確定復制的起點。從MySQL5.6開始,業界逐漸開始使用基于全局事務標識(GlobalTransactionIdentifier,GTID)模式的故障恢復,希望擺脫對Binarylog位置的依賴。如圖2所示,在GTID模式下,就是對于每個事務,都有一個唯一的事務標識,例如:圖2中示出的在數據頭Header之后存儲事務202、事務204、事務206以及事務208的事務數據時,同時存儲每個事務的事務標識和事務數據,而此種模式下事務標識也會隨著增量的邏輯數據,一起寫到Binarylog中。在從數據庫與主數據庫進行數據同步時,主數據庫中有一個GTID集合,從數據庫中也有一個GTID集合,通過比對主數據庫的GTID集合和從數據庫的GTID集合,能夠知道從數據庫比主數據庫缺少哪一部分事務數據。在基于GTID模式的從數據庫上進行全量備份時,備份工具會給出當前全量備份包含的GTID集合,但是,并不會給出當前全量備份對應于主數據庫中Binarylog的位置。在現有的基于GTID模式的數據庫中,由于備份工具未給出全量備份與主數據庫中Binarylog的對應關系,也無法快速地通過給出的GTID集合,在主數據庫的Binarylog中找到該GTID集合對應的位置。因此,現有技術中基于GTID模式的數據庫中,在每次備份時均需要復制從數據庫中的全部數據進行備份,備份的數據量大,占用的存儲空間大,而且不支持PIT恢復。因此,目前亟需一種數據備份方法,以在基于GTID模式的數據庫中進行備份時,在減少備份數據量、減少備份數據占用的存儲空間以及減少備份時間的同時,有效支持PIT恢復。
技術實現思路
出于現有技術在基于GTID模式的數據庫中,在每次備份時均需要復制從數據庫中的全部數據進行備份,備份的數據量大,占用的存儲空間大,而且不支持PIT恢復的問題。為此,非常需要一種改進的數據備份方法,以在基于GTID模式的數據庫中進行備份時,在減少備份數據量、減少備份數據占用的存儲空間以及減少備份時間的同時,有效支持PIT恢復。在本上下文中,本專利技術的實施方式期望提供一種數據備份方法及裝置。在本專利技術實施方式的第一方面中,提供了一種數據備份方法,包括:在基于全局事務標識GTID模式的數據庫中對從數據庫中的數據備份時,從所述從數據庫的復制進度信息中獲取復制的從數據庫中的數據在主數據庫的二進制日志文件中的最終復制位置;從所述主數據庫中獲取所述最終復制位置所在的目標二進制日志文件以及所述目標二進制日志文件之后的二進制日志文件。在本專利技術實施方式的第二方面中,提供了一種數據備份裝置,包括:復制位置獲取模塊,用于在基于全局事務標識GTID模式的數據庫中對從數據庫中的數據備份時,從所述從數據庫的復制進度信息中獲取復制的從數據庫中的數據在主數據庫的二進制日志文件中的最終復制位置;增量日志獲取模塊,用于從所述主數據庫中獲取所述最終復制位置所在的目標二進制日志文件以及所述目標二進制日志文件之后的二進制日志文件。在本專利技術實施方式的第三方面中,提供了一種數據備份裝置,例如,可以包括存儲器和處理器,其中,處理器可以用于讀取存儲器中的程序,執行下列過程:在基于全局事務標識GTID模式的數據庫中對從數據庫中的數據備份時,從所述從數據庫的復制進度信息中獲取復制的從數據庫中的數據在主數據庫的二進制日志文件中的最終復本文檔來自技高網...

【技術保護點】
一種數據備份方法,包括:在基于全局事務標識GTID模式的數據庫中對從數據庫中的數據備份時,從所述從數據庫的復制進度信息中獲取復制的從數據庫中的數據在主數據庫的二進制日志文件中的最終復制位置;從所述主數據庫中獲取所述最終復制位置所在的目標二進制日志文件以及所述目標二進制日志文件之后的二進制日志文件。
【技術特征摘要】
1.一種數據備份方法,包括:在基于全局事務標識GTID模式的數據庫中對從數據庫中的數據備份時,從所述從數據庫的復制進度信息中獲取復制的從數據庫中的數據在主數據庫的二進制日志文件中的最終復制位置;從所述主數據庫中獲取所述最終復制位置所在的目標二進制日志文件以及所述目標二進制日志文件之后的二進制日志文件。2.根據權利要求1所述的方法,其中,在基于GTID模式的數據庫中對從數據庫中的數據備份時,從所述從數據庫的復制進度信息中獲取所述最終復制位置,包括:在基于GTID模式的數據庫中完成對所述從數據庫中數據的備份時,對所述從數據庫中的數據進行加鎖,從所述從數據庫的復制進度信息中獲取所述最終復制位置。3.根據權利要求1所述的方法,其中,所述最終復制位置,包括:二進制日志文件標識以及在二進制日志文件中的偏移位置。4.根據權利要求1-3中任一項所述的方法,進一步包括,在進行數據恢復時,向待恢復數據庫發送備份時從所述從數據庫中復制的數據以及備份時從主數據庫中獲取的二進制日志文件;控制所述待恢復數據庫利用接收到的二進制日志文件對接收到的數據進行更改操作。5.根據權利要求4所述的方法,進一步包括,獲取預先配置的所述待恢復數據庫數據恢復到的目標時刻;則所述向所述待恢復數據庫發送從主數據庫中獲取的二進制日志文件,包括:根據所述二進制日志文件中的時間標簽,向所述待恢復數據庫發送時間標簽標識時刻在所述目標時刻之前的所有二進制日志文件。6.根據權利要求4所述的方法,進一步包括,獲取預先配置的所述待恢復數據庫數據恢復到的目標時刻;則所述控制所述待恢復數據庫利用接收到的二進制日志文件對接收到的數據進行更改操作,包括:控制所述待恢復數據庫利用接收到的二進制日志文件對接收到的數據進行更改操作,將待恢復數據庫中的數據恢復至與所...
【專利技術屬性】
技術研發人員:賴明星,
申請(專利權)人:網易杭州網絡有限公司,
類型:發明
國別省市:浙江;33
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。