More  

小編的世界 優質文選 資料

Mysql全量與增量備份:認知到實踐的全流程體驗


2020年11月11日 - 資料小編  
   

老羅觀社會萬象

項目經理,優質創作者

#MYSQL#

數據庫進行備份的工作。整個過程讓自己感覺重回了學生時代的那種學習狀態,以及由此帶來的滿足感,所以於此把整個過程記錄於有興趣之人分享。

01

明確目標

每做一件事情之前,最重要的一點是明確目標,之後在此基礎上進行准備、方案、程序、調試,最終部署實現。

數據庫的備份從數據範圍看有:全量備份與增量備份;從備份方式看有:數據導出備份與數據文件備份;從工具選擇方面看:第三方工具與數據庫自帶的導出工具與命令腳本等。

我將此次Mysql數據庫備份目標定位:任何時點都能找到一個全量備份文件,同時也至少有一個增量文件,盡量減少從Binlog日志中恢複數據的工作。

02

選擇工具

目標定下來後,緊接著就是准備工作之一:工具的選擇。

考慮到減少工作量並且利用他人已經驗證過的經驗,首先決定用第三方工具,其次通過對各種工具的比較而選擇了percona-xtrabackup
這個備份工具。

原因有三:

可以實現目標中的全量與增量備份功能;

可以編寫自帶的腳本指定庫甚至到表的精確備份;

其自身腳本可以被Linux的shell腳本調用,從而可以實現目標中的定時備份功能。

03

制定方案

工具准備好了——學習如何使用工具我於此不贅述,可能會在後續文章中分享,接下來就是要基於此工具制定備份方案。

我的思路概述如下:

必須記錄備份日志
,如開始時間、結束時間等。

按一周作為循環頻次,實現一次全量備份六次增量備份
:暫定周一全量備份,周二至周日增量備份。

保留14天(兩周)備份文件
,如此可以實現任何一天都至少有一個全量備份文件。

超過14天的備份文件自動刪除,並且刪除日志也需要寫入備份日志文件。

04

開發程序與調試

到此就進入考驗自己對備份工具與Shell腳本的能力了。於此我就直接上自己的腳本內容了——大神看來很Low就請諒解。

經過調試後,可以實現第一步制定的目標。此次備份工作圓滿完成。

  大家在看