小編的世界 優質文選 資料
字體大小:
2020年11月11日 -
:
老羅觀社會萬象
項目經理,優質創作者
#MYSQL#
數據庫進行備份的工作。整個過程讓自己感覺重回了學生時代的那種學習狀態,以及由此帶來的滿足感,所以於此把整個過程記錄於有興趣之人分享。
01
明確目標
每做一件事情之前,最重要的一點是明確目標,之後在此基礎上進行准備、方案、程序、調試,最終部署實現。
數據庫的備份從數據範圍看有:全量備份與增量備份;從備份方式看有:數據導出備份與數據文件備份;從工具選擇方面看:第三方工具與數據庫自帶的導出工具與命令腳本等。
我將此次Mysql數據庫備份目標定位:任何時點都能找到一個全量備份文件,同時也至少有一個增量文件,盡量減少從Binlog日志中恢複數據的工作。
02
選擇工具
目標定下來後,緊接著就是准備工作之一:工具的選擇。
考慮到減少工作量並且利用他人已經驗證過的經驗,首先決定用第三方工具,其次通過對各種工具的比較而選擇了percona-xtrabackup
這個備份工具。
原因有三:
可以實現目標中的全量與增量備份功能;
可以編寫自帶的腳本指定庫甚至到表的精確備份;
其自身腳本可以被Linux的shell腳本調用,從而可以實現目標中的定時備份功能。
03
制定方案
工具准備好了——學習如何使用工具我於此不贅述,可能會在後續文章中分享,接下來就是要基於此工具制定備份方案。
我的思路概述如下:
必須記錄備份日志
,如開始時間、結束時間等。
按一周作為循環頻次,實現一次全量備份六次增量備份
:暫定周一全量備份,周二至周日增量備份。
保留14天(兩周)備份文件
,如此可以實現任何一天都至少有一個全量備份文件。
超過14天的備份文件自動刪除,並且刪除日志也需要寫入備份日志文件。
04
開發程序與調試
到此就進入考驗自己對備份工具與Shell腳本的能力了。於此我就直接上自己的腳本內容了——大神看來很Low就請諒解。
經過調試後,可以實現第一步制定的目標。此次備份工作圓滿完成。