XtraBackup增量备份
mysql:5.6.29
xtrabackup:2.2.10
mysql数据目录:/data/mysql
mysql备份目录:/data/dbbak/ #确保有足够的磁盘空间
官方文档:https://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/incremental_backups_innobackupex.html
1、安装依赖
yum -y install libaio perl-Time-HiRes perl-DBD-MySQL perl-IO-Socket-SSL rsync.x86_64
2、安装xtrabackup
rpm -ivh percona-xtrabackup-2.2.10-1.el6.x86_64.rpm
3、在数据库创建备份账号
mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cret';
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT,Process ON *.* TO 'bkpuser'@'localhost';
mysql> FLUSH PRIVILEGES;
4、初始化验证数据
CREATE DATABASE if not EXISTS test /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
use test;
drop table if EXISTS myisam_table;
CREATE TABLE myisam_table (
id int NOT NULL AUTO_INCREMENT,
column1 varchar(30),
column2 varchar(30),
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
drop table if EXISTS innodb_table;
CREATE TABLE innodb_table (
id int NOT NULL AUTO_INCREMENT,
column1 varchar(30),
column2 varchar(30),
PRIMARY KEY (`id`)
) ENGINE=INNODB;
insert into myisam_table values (null,'完整备份','完整备份');
insert into innodb_table values (null,'完整备份','完整备份');
5、完整备份
innobackupex --user=bkpuser --password=s3cret /data/dbbak/full --no-timestamp --defaults-file=/etc/my.cnf
第一次增量备份
insert into myisam_table values (null,'增量备份1','增量备份1');
insert into innodb_table values (null,'增量备份1','增量备份1');
innobackupex --user=bkpuser --password=s3cret /data/dbbak/incre1 --incremental --incremental-basedir=/data/dbbak/full --no-timestamp --defaults-file=/etc/my.cnf
第二次增量备份
insert into myisam_table values (null,'增量备份2','增量备份2');
insert into innodb_table values (null,'增量备份2','增量备份2'); innobackupex --user=bkpuser --password=s3cret /data/dbbak/incre2 --incremental --incremental-basedir=/data/dbbak/incre1 --no-timestamp --defaults-file=/etc/my.cnf
6、还原
合并所有增量备份至完整备份
innobackupex --apply-log --redo-only /data/dbbak/full
innobackupex --apply-log --redo-only /data/dbbak/full --incremental-dir=/data/dbbak/incre1
innobackupex --apply-log /data/dbbak/full --incremental-dir=/data/dbbak/incre2 最后一次增量备份,不需要添加--redo-only
Note
--redo-only should be used when merging all incrementals except the last one. That’s why the previous line doesn’t contain the --redo-only option. Even if the --redo-only was used on the last step, backup would still be consistent but in that case server would perform the rollback phase. Once you merge the base with all the increments, you can prepare it to roll back the uncommitted transactions
innobackupex --apply-log /data/dbbak/full /etc/init.d/mysql.server stop
mv /data/mysql /data/mysql_bak
innobackupex --copy-back /data/dbbak/full
chown mysql:mysql /data/mysql -R
/etc/init.d/mysql.server start
7、验证数据
select * from test.myisam_table;
select * from test.innodb_table;
XtraBackup增量备份的更多相关文章
- xtrabackup增量备份mysql +MHA
http://blog.csdn.net/yanggd1987/article/category/2214421 https://www.centos.bz/2013/09/innobackupex- ...
- innobackupex 备份 Xtrabackup 增量备份
Mysql增量备份Xtrabackup中包含两个工具:• xtrabackup - 用于热备份innodb, xtradb表的工具,不能备份其他表(MYISAM表).• i ...
- Xtrabackup 增量备份 和 增量还原
目录 测试数据准备 进行全量备份 第一次增量插入一条数据 进行第一次增量备份 注意 第二次增量插入一条数据 进行第二次增量备份 注意 查看xtrabackup_binlog_info中的binlog位 ...
- xtrabackup增量备份MySQL-5.7操作说明
下载工具 本方法利用xtrabackup二进制包,版本是2.4.26 # 从官网下载二进制包:wget https://downloads.percona.com/downloads/Percona- ...
- xtrabackup 增量备份(InnoDB)
mysql> select * from users; +----+-----------+----------+--------------+ | id | name | password | ...
- mysql xtrabackup增量备份
mysql 增量备份策略 周一全备,其他增量备份,根据业务需要,设定保留日期,如保留一月. 增量备份步骤; 1 创建全备 2 根据全备目录,创建增量备份 3 第二次增量备份根据第一次增量备份目录,依次 ...
- 16、xtrabackup 增量备份及恢复
备份命令如下 备份命令如下 全量备份 # innobackupex -p123123 /backup # ls /backup 2017-04-08_13-36-11 增量备份或差量备份 # inn ...
- XtraBackup全备与增量备份
一.XtraBackup安装 下载地址:http://www.percona.com/downloads/XtraBackup/XtraBackup-2.2.8/source/ 安装步骤: ===== ...
- xtrabackup实现全量备份和增量备份
mysql增量和完全备份innobackupex2.1.9版本1 yum安装: 官网地址:https://www.percona.com/doc/percona-xtrabackup/LATEST/i ...
随机推荐
- SuspendLayout()了解方法
SuspendLayout()暂时挂起的布局逻辑控制(msdn),它ResumeLayout()在会同.我的理解是,使用SuspendLayout()让整个窗体站,等到所有的东西都设置齐全,然后Re ...
- mvc+EF比较好的框架
个人看了传智播客的一位讲师搭建的框架感觉很好,就自己通过模仿划了一下很不讲究的类图来学习之间的关系(有些地方可能有自己理解不对的地方).很感激那位讲师,我会把这个框架用在我自己的项目中.
- Forget Java to learn Javascript from 0.--Preface
I'm going to start to learn Javascript in this month. Someone told me you can't learn another langua ...
- .Net组件程序设计
.Net组件程序设计之上下文 在后续篇幅的远程调用的文章里有说到应用程序域,那是大粒度的控制程序集的逻辑存在,那么想对对象的控制又由谁来做主呢?没错了,就是上下文.CLR把应用程序域更细化了,在应用程 ...
- Eclipse编辑器样式修改
很多的开发工具都可以更改主题样式,但eclipse作为一款影响力巨大的开源开发工具,却没有自带更改样式的功能,这多少令人有点小遗憾.Eclipse 4之后,Eclipse使用者呼声高涨,就有人开始做起 ...
- 订单处理(c#实现)
State模式的经典应用场景:订单处理(c#实现) State模式在对象内部状态发生变化的时候,改变自身的行为,这通常是通过切换内部状态对象实现的,对象将自身在各个状态的行为推给了状态对象,从而解开了 ...
- script —— 终端里的记录器
当 你在终端或者控制台工作时,你可能想要记录在终端中所做的一切.这些记录可以用来当作史料,保存终端所发生的一切.比如说,你和一些Linux管理员们同 时管理着相同的机器,或者你让某人远程登陆到了你的服 ...
- SugarSync的API总结
SugarSync API App支持SugarSync网盘的前提: 1.AccessKeyID:xxx 2.Private Access Key:xxx 3.AppID:xxx 详细的API总结如下 ...
- 马赛克算法及iOS代码实现
之前做了一下相关涂鸦的东西,发现图片处理挺好玩的,就先讲讲马赛克的实现吧. 放大马赛克图片可以看到,可以看到一个个单色的小正方形.所以马赛克其实也就是把某一点的色值填充了它一定范围内的一个正方形,这样 ...
- 企业架构研究总结(34)——TOGAF架构内容框架之架构制品(下)
4.2.31 数据生命周期图(Data Lifecycle Diagram) 数据生命周期图是在业务流程的约束之下对业务数据在其整个生命周期(从概念阶段到最终退出)中对其进行管理的核心部分.数据从本质 ...