一、Xtrabackup概述 1.1、简介 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。 Xtrabackup有两个主要的工具:xtrabackup、innobackupex (1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 (2)innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以能同时备份处理innodb和myisam,但在处理myisam时需要加一个读锁 1.2、安装 #wget http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-2.0.0/binary/Linux/x86_64/percona-xtrabackup-2.0.0.tar.gz # yum -y install perl-* # tar -xvf percona-xtrabackup-2.0.0.tar.gz # mv percona-xtrabackup-2.0.0 /usr/local/xtrabackup # vim /etc/profile export PATH=$PATH:/usr/local/xtrabackup/bin #source /etc/profile 1.3、全量备份 #innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /opt/backup/ >>/opt/backup/backup.log 2>&1 /opt/backup备份存放的目录 1.4、全量恢复 # /etc/init.d/mysqld stop # rm /data/dbdata/* -rf 备份成功后。删除掉这个MYSQL的数据目录试试? 开始恢复步骤一 # innobackupex --apply-log --defaults-file=/etc/my.cnf --user=root --password=123456 /opt/backup/2014-04-06_08-25-19/ 开始恢复步骤二 # cd /data/dbdata #innobackupex --user=root --password=zeng --defaults-file=/etc/my.cnf --copy-back /opt/backup/2014-04-06_08-25-19/ 1.5、增量备份 (1)、先做全量备份 #innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /opt/backup/ >>/opt/backup/backup.log 2>&1 (2)、在Mysql里面多创建一个表 (3)、在做增量备份 #--incremental:增量备份的文件夹 #--incremental-dir:针对哪个做增量备份 # innobackupex --user=root --password=123456 --incremental /opt/backup/ --incremental-dir 2014-04-06_10-11-36 #cd /opt/backup #ls –l 2014-04-06_10-11-36 全量备份包 2014-04-06_12-40-48 增量备份包 1.6、增量恢复 #/etc/init.d/mysqld stop # innobackupex --copy-back /databackup/2014-04-06_12-40-48 / # /etc/init.d/mysqld start 1.7、企业真实环境 (1)、 innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --database=zztx --stream=tar /data/back_data/ 2>/data/back_data/zztx.log | gzip 1>/data/back_data/zztx.tar.gz 说明: --database=zztx 单独对zztx数据库做备份 ,若是不添加此参数那就那就是对全库做备份 2>/data/back_data/zztx.log 输出信息写入日志中 1>/data/back_data/zztx.tar.gz 打包压缩存储到该文件中 (2)、 此处可以写个脚本做备份(backup.sh) #!/bin/sh echo "开始备份..."`date` log=zztx01_`date +%y%m%d%H%M`.log str=zztx01_`date +%y%m%d%H%M`.tar.gz innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --database=zztx --stream=tar /data/back_data/ 2>/data/back_data/$log | gzip 1>/data/back_data/$str echo "备份完毕..."`date` (3)、恢复数据 1) 先停止数据库:service mysqld stop 2) 解压 tar -izxvf zztx.tar.gz -C /data/back_data/db/ (没有db ,需要mkdir /data/back_data/db/) 3) 恢复 innobackupex --user=root --password --defaults-file=/etc/my.cnf --apply-log /data/back_data/db/ (--apply-log选项的命令是准备在一个备份上启动mysql服务) innobackupex --user=root --password --defaults-file=/etc/my.cnf --copy-back /data/back_data/db/ (--copy-back 选项的命令从备份目录拷贝数据,索引,日志到my.cnf文 件里规定的初始位置。) 4) 赋权 chown -R mysql.mysql /var/lib/mysql/* 5) 重启数据库 service mysqld restart 6) 删除垃圾 cd /var/lib/mysql/ && rm xtrabackup* 进入数据库查看,一切OK~
Xtrabackup
原创
©著作权归作者所有:来自51CTO博客作者江山此夜寒的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:IP网络存储ISCSI
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
xtrabackup-8.4.0-1您知道多少呢?
xtrabackup-8.4.0-1
MySQL perl Server -
xtrabackup
请看课件
linux 职场 休闲