通过innobackupex实现对MySQL的增量备份与还原
备份
增量备份是基于完整备份的,所以我们需要先做一次完整备份:
innobackupex --password=test /backup/
备注:test是我的MySQL服务的root用户的密码,/backup/是我用于存放备份文件的目录。
执行完命令后,/backup/目录下会生成一个时间戳目录,在我这个例子中是/backup/2016-09-20_14-45-26/。
第一次增量备份:
innobackupex --password=test --incremental /backup/ --incremental-basedir=/backup/2016-09-20_14-45-26/
注意:第一次备份的--incremental-basedir参数应指向完整备份的时间戳目录。
执行完命令后,/backup/目录下会生成一个时间戳目录,在我这个例子中是/backup/2016-09-20_14-58-01/。
第二次增量备份:
innobackupex --password=test --incremental /backup/ --incremental-basedir=/backup/2016-09-20_14-58-01/
注意:第二次备份的--incremental-basedir参数应指向第一次增量备份的时间戳目录。
执行完命令后,/backup/目录下会生成一个时间戳目录,在我这个例子中是/backup/2016-09-20_14-58-30/。
为了达到实验效果,建议读者在每次增量备份前对数据库进行增删改,以便观察还原效果。
还原
停止MySQL服务并清空数据目录:
service mysqld stop
rm -rf /mysql/*
整合完整备份和增量备份:
innobackupex --apply-log --redo-only /backup/2016-09-20_14-45-26/
innobackupex --apply-log --redo-only /backup/2016-09-20_14-45-26/ --incremental-dir=/backup/2016-09-20_14-58-01/
innobackupex --apply-log /backup/2016-09-20_14-45-26/ --incremental-dir=/backup/2016-09-20_14-58-30/
innobackupex --apply-log /backup/2016-09-20_14-45-26/
注意:一定要按照完整备份、第一次增量备份、第二次增量备份的顺序进行整合,在整合最后一次增量备份时不要使用--redo-only参数。
开始还原:
innobackupex --copy-back /backup/2016-09-20_14-45-26/
还原成功后你会看到“completed OK!”的字样。
修改数据目录的属主和属组并启动MySQL服务:
chown -R mysql.mysql /mysql/
service mysqld start
通过以上步骤就完成了增量备份的还原。
温馨提示
在还原时,如果有足够的空间,建议对数据目录和备份目录进行拷贝备份。
通过innobackupex实现对MySQL的增量备份与还原的更多相关文章
- innobackupex实现对MySQL的增量备份与还原
备份增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --defaults-file=/etc/my.cnf --user root --password cheng ...
- 通过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目录 第四步 恢复前准备 ...
随机推荐
- [Nginx] - PHP+FPM相关的配置
CodeIgniter的配置: worker_processes ; events { worker_connections ; } http { include mime.types; defaul ...
- access生成sql脚本,通过VBA调用ADOX
access生成sql脚本,通过VBA调用ADOX. 使用 MS Access 2016 的VBA,读取mdb文件中的所有表结构(数据类型/长度/精度等),生成对应的SQL create table语 ...
- JAVA并发编程
拜读了一篇很详尽的博文,特此转载http://www.cnblogs.com/dolphin0520/p/3920373.html, 并做了一些更正. 一.内存模型的相关概念. 大家都知道,计算机在执 ...
- IE8下调用Active控件
之前在IE6下运行正常的Active控件,浏览器升级到IE8后全部失效,并呈浏览器崩溃状. 网上搜了一圈得到如下解决方法: 1.设置信任站点 2.还需要在IE浏览器菜单 “工具>Internet ...
- TEX学习笔记
整理在这里, 方便以后容易查找. 毕竟每个tex的模板有些不一样. Beamer: Latex beamer 学习总结 http://blog.sina.com.cn/s/blog_6cf921f30 ...
- C#封装好的Win32API
Kernel.cs using System; using System.Runtime.InteropServices; using System.Text; using HANDLE = Syst ...
- day9-协程
生产者和消费者模型: #!/usr/bin/env python #coding:utf8 import threading,Queue import time import random def p ...
- Xilinx DCM 使用---- 输出频率问题
最近在使用Xilinx FPGA验证项目,使用DCM将50M晶振分频得到20M时钟.但是下载代码到板子上验证,发现板子完全不工作. 然后 测量时钟,发现根本就没有20M时钟.查找资料,以及跟以前项目对 ...
- Linq并行执行
一. 并行LINQ 1. 并行查询 .NET4在System.Linq名称空间中包含一个新类ParalleIEnumerable ,可以分解查询的工作使其分布在多个线程上.尽管Enmerab ...
- python subprocess.Popen 非阻塞
1.非阻塞设置subprocess.Popen(args, stdout=subprocess.PIPE,stderr=subprocess.PIPE) def non_block_read(outp ...