简单测试利用XtraBackup实现全备份和增量备份过程

XtraBackup备份工具确实比较强大的,支持数据库全备份、增量备份、部分备份、而且可以压缩备份。云计算优惠在前面的"CentOS6快速安装Xtrabackup数据库备份工具 "文章中实现服务器环境的安装,但是还没有实战测试这个工具如何使用的。因为在翻看文档的时候有各种的文章和教程,但是搜索出来的都是别人的,不经过自己测试永远不踏实。

虽然目前的中小项目用不上较大项目数据库的备份,但是云计算优惠在这篇文章中模拟一份网站和WEB数据库环境采用XtraBackup进行全备份和增量备份,然后尝试去复原恢复数据,这样也+ r | } 6 S *记录下基本的XtraBackup使用方法,这样对于一些v T t 8 ( F搜罗的脚本也做一个备份使用。

本次测试的目的是在已经安装有WEB环境且有一个o K d # | g n网站项目数据,先进行全备份,然后模拟再更新数据之后进行增量备份,然后进s z + } !行人为的数据库删除破坏。利用全备份和增V Y H + - H 9量备份进行恢复数据。

文章目录
隐藏
第一、全量备份数据库

第二、p E a增量备份数据库

第三、恢复增量备份数据库

第一、全量备份数1 l 7 3 g v据库

前提是我们当前服务器环境已经安装好XQ ? 3 2 ; J utraBackup,如果没有安装可以参考这H F - U k 5 / 1 ?里进行安装。因为云计算优惠也是初次接触XtraBackup,所以只能依照网上文档先入门级的尝试,后面再进行复杂的功g u o b W k * n能测试。我们需要先进行$ * u一份全量备份,我不指定某一个数据库,我直接备份所有服务器环境的mysql数据库文件。

innobackupex --defaults-file=/etc/my.cnf --host=127.0.0.1 --port=3306 --user=root --password=laobuluo.com /home/

里云计算优惠选择一个/home目录用来备份数据库时间戳目录,我们需要记录下时间戳,等会需要用到。比如这里我全备的时间戳是2018-01-2n _ S } (9_16t ( l M {-04-29。如果我们需要恢复当前的全备份数据库,那如何操作呢?! 6 A V C

innobackupex --apply-log --use-memory=64M /home/= ] b2018-01-29_16-04R @ q u 6 - C ;-29

我们姑且叫做准备备份,要不是不行的。

innk * +obackupex --copy-back /home/2018-01-29_16-04-= J G z A D 29

我们在恢复数据库之前需要将数据库目Q P Y j m n K _录文件都删除,且暂停数据库,然后再执行恢复数据库。

第二、增量备份数据库

这里模拟进行x r . a ,* n , . w 8加数据库,比如我们R ^ q { E将网站多增加几条内容。然后再进行增量备份。

innobackupex --incremental-basedir=/homN X ? 2 } S (e/2018-01-29_16-04B s H 5 F :-29 --incremental /home/ --host=127.0.0.1 --port=3306 --user=root --password=laob; K Euluo.com

这里我们需要在2018-01-29_16-04-29基础之上再进行添加一个时间戳的备份。比如我们在/home目录中又看到有一个2018-01-29_16-05R N W r y a k-36文件目录。同理,我们可以增加数 ] r L 8 7 J )据之后; a 6 A I再进行增量备份。

第三、恢复增量备份数据库

innobackupex --appl3 j V l &y-log --use-memory=64M --redo-only /home/2018-01-29_16-04-29
innobackupq Q hex --apply-log --use-memory=68 b x Z ? u ] F g4M --redo-only /home/2018-01t ` @ 1 I R M Q (-29_16-04-29 --incremental-dir=/home/2018-01-29_16-06-22

准备增量备份。然后我们认为的破坏当前服务器所在数据库的mysql目录,将7 v S全部删除掉。(这里我1 u ? 6仅仅是在测试环境测试,= + K , n u如果我们真实生产环C i (境谨慎操作,需要做好备份)

innob6 v $ n 8 8 F T +a* % ` | O / 4 ; Gckupex --copy-back /home/2018-01-29_16-04-29

我们在恢复数据库之前,一定要3 Z x在数据库主目录文件都删除,而且服务器中数据库都q e r Q | w关闭状态进行。且在恢复数据库之后,我们需要授权数据库的目录,然后重启数据库直到能正常运行再打开网站看看是不是正常。