设为首页 加入收藏

TOP

通过innobackupex实现对MySQL的增量备份与还原
2017-02-18 08:15:19 】 浏览:4809
Tags:通过 innobackupex 实现 MySQL 增量 备份 还原

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


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


安装:


rpm -ivh percona-xtrabackup-24-2.4.5-1.el6.x86_64.rpm
查看版本:


[root@iZ252affh58Z scripts]# innobackupex --version
?
innobackupex version 2.4.5 Linux (x86_64) (revision id: e41c0be)


创建备份文件存放目录:


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


全备份语句:


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
?
/backup/mysql_full/xtra_fullbak_2017-02-10.tar.gz
--extra-lsndir参数的用途是在全备份目录下生成增量备份需要的文件,类似如下:


[root@iZ252affh58Z mysql_full]# more xtrabackup_checkpoints
?
backup_type = full-backuped


from_lsn = 0


to_lsn = 227008558675


last_lsn = 227008558684


compact = 0


recover_binlog_info = 0
增量备份语句:


innobackupex --defaults-file=/etc/my.cnf --host=10.51.xx.xx --user=xtrabk --password=onlyxxxxx --no-timestamp --incremental --incremental-basedir=/mnt/backup/mysql_full
?
--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


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


增量恢复:


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


innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only /alidata1/mysqlbackup/mysql_full
还原成功后会提示“completed OK!”字样


修改权限:


chown -R mysql:mysql /alidata1/mysqlbackup/mysql_full
启动数据库:


mysqld_safe --defaults-file=/etc/my.cnf &
特别注意:在恢复之前最好最全备和增量备份再做一次备份,比如mv到一个新目录


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ORA-15032和ORA-15075: disk(s) a.. 下一篇MySQL的SQL语句优化一例

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目