是由 公司开源的免费数据库热备份软件,它能对 数据库和 存储引擎的数据库进行非阻塞地备份。
众所周知, 备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于,备份就不太适合。
相比而言, 的优势体现在:
备份、还原速度快,物理备份可靠
备份过程不会打断正在执行的事务(无需锁表)
能够基于压缩等功能节约磁盘空间和流量
支持流式处理,将备份传输到另外一台机器上
自动备份校验
安装完成后有 4 个可执行文件:
: 是专门用来备份B表的,和服务器没有交互;
: 是一个封装xtrabackup的脚本,支持同时备份和,但在对备份时需要加一个全局的读锁。
: 加密解密备份工具
: 流打包传输工具
全备恢复
首先,准备一个数据库:
备份原理:
备份开始时首先会开启一个后台检测进程,实时检测 的变化,一旦发现有新的日志写入,立刻将日志记入后台日志文件 中,之后复制 的数据文件以及系统表空间文件,复制结束后,将执行 ,然后复制 等文件,最后执行 。
输出 信息代表备份成功。
看一下备份后的文件列表:
然后,将备份好的数据拷贝到目标主机,准备进行恢复:
先关掉目标主机的 服务,准备一个全备份:
准备完成后,检查下最后输出到信息:
接着进行全备恢复:
增量备份
优点:
数据库太大没有足够的空间全量备份,增量备份能有效节省空间,并且效率高;
支持热备份,备份过程不锁表(针对而言),不阻塞数据库的读写;
每日备份只产生少量数据,也可采用远程备份,节省本地空间;
备份恢复基于文件操作,降低直接对数据库操作风险;
原理:
首先完成一个全备份,并记录下此时检查点;
然后增量备份时,比较表空间中每个页的是否大于上次备份的,若是则备份该页并记录当前检查点的。
增量备份需要用到两个参数:
告诉 进行增量备份
指定增量备份的起始点,这里是之前备份过的某个目录
在全量备份基础上进行第一次增量备份:
对比两次备份的 记录可以看到:
分别为 ,
增量备份的 对应于上次全量备份的
在第一次增量备份基础上,进行第二次增量备份:
同理,第二次增量备份的 对应于第一次增量备份的 :
增量恢复
首先,准备一个全备份:
然后,依次将增量备份 到全备份,特别需要注意的是:最后一个增量备份不用
确保每次操作最后都打出了日志信息:
现在,所有的备份都整合到了 ,对合在一起的完全备份进行一次 操作,回滚未提交的数据:
最后,恢复所有备份:
总结
这篇文章简单记录并总结了使用 对 数据库进行 备份并恢复的过程,希望能对初学者有所帮助。
很抱歉,就做了点微小的贡献。
领取专属 10元无门槛券
私享最新 技术干货