Mysql全量与增量备份认知到实践的全流

近段时间由于工作需要,从零开始学习到最终完成了对#MYSQL#数据库进行备份的工作。整个过程让自己感觉重回了学生时代的那种学习状态,以及由此带来的满足感,所以于此把整个过程记录于有兴趣之人分享。

01明确目标

每做一件事情之前,最重要的一点是明确目标,之后在此基础上进行准备、方案、程序、调试,最终部署实现。

数据库的备份从数据范围看有:全量备份与增量备份;从备份方式看有:数据导出备份与数据文件备份;从工具选择方面看:第三方工具与数据库自带的导出工具与命令脚本等。

我将此次Mysql数据库备份目标定位:任何时点都能找到一个全量备份文件,同时也至少有一个增量文件,尽量减少从Binlog日志中恢复数据的工作。

02选择工具

目标定下来后,紧接着就是准备工作之一:工具的选择。

考虑到减少工作量并且利用他人已经验证过的经验,首先决定用第三方工具,其次通过对各种工具的比较而选择了percona-xtrabackup这个备份工具。

原因有三:

可以实现目标中的全量与增量备份功能;可以编写自带的脚本指定库甚至到表的精确备份;其自身脚本可以被Linux的shell脚本调用,从而可以实现目标中的定时备份功能。

03制定方案

工具准备好了——学习如何使用工具我于此不赘述,可能会在后续文章中分享,接下来就是要基于此工具制定备份方案。

我的思路概述如下:

必须记录备份日志,如开始时间、结束时间等。按一周作为循环频次,实现一次全量备份六次增量备份:暂定周一全量备份,周二至周日增量备份。保留14天(两周)备份文件,如此可以实现任何一天都至少有一个全量备份文件。超过14天的备份文件自动删除,并且删除日志也需要写入备份日志文件。

04开发程序与调试

到此就进入考验自己对备份工具与Shell脚本的能力了。于此我就直接上自己的脚本内容了——大神看来很Low就请谅解。

经过调试后,可以实现第一步制定的目标。此次备份工作圆满完成。




转载请注明:http://www.aierlanlan.com/tzrz/2051.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了