MySQL 数据库热备份迁移

是由 公司开源的免费数据库热备份软件,它能对 数据库和 存储引擎的数据库进行非阻塞地备份。

众所周知, 备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于,备份就不太适合。

相比而言, 的优势体现在:

备份、还原速度快,物理备份可靠

备份过程不会打断正在执行的事务(无需锁表)

能够基于压缩等功能节约磁盘空间和流量

支持流式处理,将备份传输到另外一台机器上

自动备份校验

安装完成后有 4 个可执行文件:

: 是专门用来备份B表的,和服务器没有交互;

: 是一个封装xtrabackup的脚本,支持同时备份和,但在对备份时需要加一个全局的读锁。

: 加密解密备份工具

: 流打包传输工具

全备恢复

首先,准备一个数据库:

备份原理:

备份开始时首先会开启一个后台检测进程,实时检测 的变化,一旦发现有新的日志写入,立刻将日志记入后台日志文件 中,之后复制 的数据文件以及系统表空间文件,复制结束后,将执行 ,然后复制 等文件,最后执行 。

输出 信息代表备份成功。

看一下备份后的文件列表:

然后,将备份好的数据拷贝到目标主机,准备进行恢复:

先关掉目标主机的 服务,准备一个全备份:

准备完成后,检查下最后输出到信息:

接着进行全备恢复:

增量备份

优点:

数据库太大没有足够的空间全量备份,增量备份能有效节省空间,并且效率高;

支持热备份,备份过程不锁表(针对而言),不阻塞数据库的读写;

每日备份只产生少量数据,也可采用远程备份,节省本地空间;

备份恢复基于文件操作,降低直接对数据库操作风险;

原理:

首先完成一个全备份,并记录下此时检查点;

然后增量备份时,比较表空间中每个页的是否大于上次备份的,若是则备份该页并记录当前检查点的。

增量备份需要用到两个参数:

告诉 进行增量备份

指定增量备份的起始点,这里是之前备份过的某个目录

在全量备份基础上进行第一次增量备份:

对比两次备份的 记录可以看到:

分别为 ,

增量备份的 对应于上次全量备份的

在第一次增量备份基础上,进行第二次增量备份:

同理,第二次增量备份的 对应于第一次增量备份的 :

增量恢复

首先,准备一个全备份:

然后,依次将增量备份 到全备份,特别需要注意的是:最后一个增量备份不用

确保每次操作最后都打出了日志信息:

现在,所有的备份都整合到了 ,对合在一起的完全备份进行一次 操作,回滚未提交的数据:

最后,恢复所有备份:

总结

这篇文章简单记录并总结了使用 对 数据库进行 备份并恢复的过程,希望能对初学者有所帮助。

很抱歉,就做了点微小的贡献。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20190117G1A0KV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券