阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

通过innobackupex实现对MySQL的增量备份与还原

110次阅读
没有评论

共计 2176 个字符,预计需要花费 6 分钟才能阅读完成。

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

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

https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.5/binary/RedHat/6/x86_64/Percona-XtraBackup-2.4.5-re41c0be-el6-x86_64-bundle.tar
解压之后会有一个 percona-xtrabackup-24-2.4.5-1.el6.x86_64.rpm,

安装:

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 到一个新目录

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/140651.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2176字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中