加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

删库跑路?这篇文章教你如何使用xtraback备份MySQL数据库

发布时间:2018-11-04 00:15:38 所属栏目:MySql教程 来源:轻松学习Linux
导读:副标题#e# 一、mysqldump备份方式是采用逻辑备份。最大的缺陷就是备份和恢复的速度都慢,对于一个50G的数据库而言,这个速度还是可以接受的,但是如果数据库非常大,那在使用mysqdump备份就不是太合适了。。 这时候就需要一种很好用又高效的工具,xtraback
副标题[/!--empirenews.page--]

 删库跑路?这篇文章教你如何使用xtraback备份MySQL数据库

一、mysqldump备份方式是采用逻辑备份。最大的缺陷就是备份和恢复的速度都慢,对于一个50G的数据库而言,这个速度还是可以接受的,但是如果数据库非常大,那在使用mysqdump备份就不是太合适了。。

这时候就需要一种很好用又高效的工具,xtraback 就是其中的一款,号称免费版的innodb hotbackup

xtraback特点如下:

  1. 备份过程快速,可靠

  2. 备份过程不会打断正在执行的事务

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

  4. 自动实现备份检验

  5. 还原速度快

二、安装xtraback

1)下载xtraback

  1. wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz  

删库跑路?这篇文章教你如何使用xtraback备份MySQL数据库

2)解压

  1. [root@master ~]# tar zxf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz  

3)进入解压目录复制bin下的所有程序到/usr/bin下即可

  1. [root@master ~]# cd percona-xtrabackup-2.4.4-Linux-x86_64/  
  2. [root@master percona-xtrabackup-2.4.4-Linux-x86_64]# cp bin/* /usr/bin/ 

xtraback是用于热备份innodb,xtradb表中数据的工具,支持在线热备份,可以在不加锁的情况下备份innodb数据表,不过此工具不能操作myisam引擎表

4)安装相关的插件

  1. yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-TermReadKey.x86_64 perl-Digest-MD5 –y 

5)下载percona-toolkit并安装

  1. wget https://www.percona.com/downloads/percona-toolkit/2.2.19/RPM/percona-toolkit-2.2.19-1.noarch.rpm  
  2. [root@master ~]# rpm -ivh percona-toolkit-2.2.19-1.noarch.rpm  
  3. warning: percona-toolkit-2.2.19-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY  
  4. Preparing... ################################# [100%]  
  5. Updating / installing...  
  6.  1:percona-toolkit-2.2.19-1 ################################# [100%] 

三、备份

方案一:xtrabackup完全备份+binlog增量备份 (需要开启bin-log日志)

创建备份目录

  1. [root@master ~]# mkdir -p /opt/mysqlbackup/{full,inc} 

首先我们创一个test库,在test库中创建一个tb1的表,在tb1表中插入三行数据,如下:

删库跑路?这篇文章教你如何使用xtraback备份MySQL数据库

插入数据后我们进行完全备份 如下:

  1. [root@master ~]# innobackupex --user=root --password=pwd123 /opt/mysqlbackup/full/ 

以上完全备份路径为我们刚刚创建的mysqlbackup目录下。

出现以下提示证明备份成功

删库跑路?这篇文章教你如何使用xtraback备份MySQL数据库

备份后的文件如下:

删库跑路?这篇文章教你如何使用xtraback备份MySQL数据库

至此全备完全成功,然后向mysql某个库插入几条数据,然后进行增量备份

对完全备份的后数据库更改进行二进制日志增量备份:

查看完全备份时binlog日志位置(position):

删库跑路?这篇文章教你如何使用xtraback备份MySQL数据库

以上就是我们完全备份完成后的位置,那么如果我们现在插入数据的话,是从这个位置开始的,从这个位置开始的我们称为增量备份,现在我们在tb1表中插入数据如下:

删库跑路?这篇文章教你如何使用xtraback备份MySQL数据库

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读