innobackupex实现对MySQL的增量备份与还原
备份
增量备份是基于完整备份的,所以我们需要先做一次完整备份:
innobackupex --defaults-file=/etc/my.cnf --user root --password chengce243 /data/mysqlbak
执行完命令后,/data/mysqlbak 目录下会生成目录: 2018-08-06_13-53-57
第一次增量备份:
innobackupex --defaults-file=/etc/my.cnf --user root --password chengce243 --incremental /data/mysqlbak --incremental-basedir=/data/mysqlbak/2018-08-06_13-53-57
注意:第一次备份的--incremental-basedir参数应指向完整备份的时间戳目录。
执行完命令后,/data/mysqlbak 目录下会生成目录:2018-08-06_13-55-42
第二次增量备份:
innobackupex --defaults-file=/etc/my.cnf --user root --password chengce243 --incremental /data/mysqlbak --incremental-basedir=/data/mysqlbak/2018-08-06_13-55-42
注意:第二次备份的--incremental-basedir参数应指向第一次增量备份的时间戳目录。
执行完命令后,/data/mysqlbak 目录下会生成目录: 2018-08-06_13-58-47
还原
停止MySQL服务并清空数据目录:
/etc/init.d/mysqld stop
rm -rf /data/mysql/*
恢复过程:
恢复情况一:
直接恢复完整备份之后的数据。
直接把全备备份文件( 2018-08-06_13-53-57)目录下的文件复制到 /data/mysql ,然后启动数据库,此时数据库的数据是完整备份之后的数据。
恢复情况二:
恢复完整备份+增量备份
innobackupex --apply-log --redo-only /data/mysqlbak/2018-08-06_13-53-57
innobackupex --apply-log --redo-only /data/mysqlbak/2018-08-06_13-53-57 --incremental-dir=/data/mysqlbak/2018-08-06_13-55-42
innobackupex --apply-log /data/mysqlbak/2018-08-06_13-53-57 --incremental-dir=/data/mysqlbak/2018-08-06_13-58-47
innobackupex --apply-log /data/mysqlbak/2018-08-06_13-53-57
注意:一定要按照完整备份、第一次增量备份、第二次增量备份的顺序进行整合,在整合最后一次增量备份时不要使用--redo-only参数。
开始还原:
由于我的mysql数据目录为 /data/mysql ,所以还原直接 mv 数据文件到 /data/mysql 即可。
mv /data/mysqlbak/2018-08-06_11-36-02/* /data/mysql/
修改数据目录的属主和属组并启动MySQL服务:
chown -R mysql.mysql /data/mysql/
/etc/init.d/mysqld start
innobackupex实现对MySQL的增量备份与还原的更多相关文章
- 通过innobackupex实现对MySQL的增量备份与还原
备份 增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --password=test /backup/ 备注:test是我的MySQL服务的root用户的密码,/b ...
- 通过innobackupex实现对MySQL的完整备份与还原
备份 新建一个用于存放备份的目录 mkdir /backup 执行以下命令: innobackupex --password=test /backup/ 执行完后你会看到“completed OK!” ...
- 利用shell脚本实现对mysql数据库的备份
#!/bin/bash #保存备份个数 number=3 #备份保存路径 backup_dir=/root/mysqlbackup #日期 dd=`date +%Y%m%d` #备份工具 tool=m ...
- 实现对MySQL数据库进行分库/分表备份(shell脚本)
工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...
- Mysql性能优化三(分表、增量备份、还原)
接上篇Mysql性能优化二 对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻 ...
- Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问
本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...
- mysql 利用binlog增量备份,还原实例
mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 标签:binlog, mysql, mysqldump, 增量备份 一,什么是增量备份 增量 ...
- MYSQL数据库增量备份
MySQL数据库增量备份,在这之前修改我们的数据库配置文件/etc/my.cnf开启bin-log日志功能即可.接下来是我参考了下网上的一些方法,自己写的,主要还是要能学到他的一些思路和方法. #fu ...
- Xtrabackup 全备和还原以及增量备份和还原
目录 MySQL环境介绍 全备和还原 准备备份目录 创建测试数据 全量备份 模拟删除数据 还原数据操作 第一步 备份备份文件 第二步 关闭数据库 第三步 移除数据库的data目录 第四步 恢复前准备 ...
随机推荐
- Struts2 源码分析-----拦截器源码解析 --- ParametersInterceptor
ParametersInterceptor拦截器其主要功能是把ActionContext中的请求参数设置到ValueStack中,如果栈顶是当前Action则把请求参数设置到了Action中,如果栈顶 ...
- MATLAB求解非齐次线性方程组
例如方程组: 法1:左除法 >> A=[3 1 -1;1 2 4;-1 4 5];b=[3.6;2.1;-1.4]; >> x=A\b x = 1.4818 -0.4606 0 ...
- cf873F(xjb+二分)
题目链接:http://codeforces.com/problemset/problem/837/F 题意:给出一个大小为 n 的数组 a 和一个数 k,每次操作后的到一个 a' 数组,a'i 为 ...
- 51nod1064(Bash博弈)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1067 题意:中文题诶~ 思路:直接规律就好了... 代码: ...
- 2014-11-3 NOIP模拟赛2
NOIP 2014 水题模拟赛 (请选手务必仔细阅读本页内容) 一.题目概况 中文题目名称 数列 刷漆 排队 英文题目与子目录名 seq paint layout 可执行文件名 seq paint l ...
- docker-compose搭建wordpress[转]
1.安装docker-compose apt-get install docker-compose 发现下载的是旧版本,不支持2.0的配置文件 还是下载新版本吧,去github查看最新版本https: ...
- Java学习笔记——Map接口
Map接口 Map接口 Map接口中键和值一一映射. 可以通过键来获取值. 异常 NoSuchElementException:访问的值不存在 ClassCastException:对象类型错误 Un ...
- angularJs中对时间戳的处理
一. ng表达式 <!-- 表达式中使用 --> {{ dt1 | date:'yyyy-MM-dd HH:mm:ss' }} 二. 控制器中使用 //controller必须注入 $fi ...
- easyui-dialog对话框练习
<div id="dl1" class="easyui-dialog" title="窗口" style="width:40 ...
- Windows 新增 Sublime Text3 右键快捷方式
Win10 创建 Sublime Text 3 右键快捷方式 Windows + R 输入 regedit 打开注册表编辑器: 依次找到 计算机\HKEY_CLASSES_ROOT\*\shell: ...