如何通过innobackupex实现对MySQL的增量备份与还原-创新互联

这篇文章将为大家详细讲解有关如何通过innobackupex实现对MySQL的增量备份与还原,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的雨花台网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

innobackupex 是由Perl脚本语言编写的工具,该工具对xtrabackup工具进行了封装,为了支持MyISAM engine
xtrabackup是由知名的数据库软件服务企业Percona提供的一款热备工具,有以下几个优点:
备份集高效,完整,可用。
备份任务执行过程中不会阻塞事务。
节省磁盘空间,降低网络带宽占用。
备份集自动验证机制。
恢复更快。

目前最新版本是2.4.5,下载地址:

  1. /tupian/20230522/downloads class=" list-paddingleft-2">

  2. rpm -ivh percona-xtrabackup-24-2.4.5-1.el6.x86_64.rpm

查看版本:

  1. [root@iZ252affh68Z scripts]# innobackupex --version

  2. innobackupex version 2.4.5 Linux (x86_64) (revision id: e41c0be)


创建备份文件存放目录:

mysql_full --用于存放全备份
mysql_incremental --用于存放增量备份

全备份语句:

  1. innobackupex  --defaults-file=/etc/my.cnf  --host=10.51.xx.xx  --user=xtrabk  --password=onlyxxxxx  --extra-lsndir=/mnt/backup/mysql_full --stream=tar /tmp | gzip > /mnt

  2. /backup/mysql_full/xtra_fullbak_2017-02-10.tar.gz

--extra-lsndir参数的用途是在全备份目录下生成增量备份需要的文件,类似如下:

  1. [root@iZ252affh68Z mysql_full]# more xtrabackup_checkpoints

  2. backup_type = full-backuped

  3. from_lsn = 0

  4. to_lsn = 227008558675

  5. last_lsn = 227008558684

  6. compact = 0

  7. recover_binlog_info = 0

增量备份语句:

  1. innobackupex --defaults-file=/etc/my.cnf --host=10.51.xx.xx --user=xtrabk --password=onlyxxxxx --no-timestamp --incremental --incremental-basedir=/mnt/backup/mysql_full

  2. --stream=xbstream /tmp > /mnt/backup/mysql_incremental/xtra_incrementalbak_2017-02-14.xbstream

--incremental参数的意思是要进行增量备份
--incremental-basedir指定全备份的目录,需要找xtrabackup_checkpoints里的to_lsn,增量需要以全备为基础。
--stream 增量备份只能指定为xbstream

注:如果是rpm方式安装的xtrabackup,xbstream会自动在/usr/bin下生成,如果是源码方式安装,需要拷贝xbstream可执行程序到/usr/bin目录

恢复:

本例是把上述的全备和增量备份文件拷贝到异机进行恢复,异机上已经安装好了mysql软件,参数文件放到了/etc/下,名为my.cnf

  1. innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only /alidata1/mysqlbackup/mysql_full

--apply-log的作用是从指定的选项文件中读取配置信息并应用日志等
--redo-only:如果还有其他增量备份集需要恢复,那么这个参数必选,它的作用是只应用redo,而不进行回滚。

增量恢复:

  1. innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only /alidata1/mysqlbackup/mysql_full

还原:

  1. innobackupex --defaults-file=/etc/my.cnf --copy-back /alidata1/mysqlbackup/mysql_full

还原成功后会提示“completed OK!”字样

修改权限:

  1. chown -R mysql:mysql /alidata1/mysqlbackup/mysql_full

启动数据库:

  1. mysqld_safe --defaults-file=/etc/my.cnf &

关于“如何通过innobackupex实现对MySQL的增量备份与还原”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


名称栏目:如何通过innobackupex实现对MySQL的增量备份与还原-创新互联
分享链接:http://hbruida.cn/article/ddpgcg.html