innoback 参数及使用说明
--defaults-file
同xtrabackup的--defaults-file参数,指定mysql配置文件; --apply-log
对xtrabackup的--prepare参数的封装; --copy-back
做数据恢复时将备份数据文件拷贝到MySQL服务器的datadir,需先清空原有mysql的数据目录; --remote-host=HOSTNAME
通过ssh将备份数据存储到进程服务器上; --stream=[tar] 备份文件输出格式, tar时使用tar4ibd , 该文件可在XtarBackup binary文件中获得.如果备份时有指定--stream=tar, 则tar4ibd文件所处目录一定要在$PATH中(因为使用的是tar4ibd去压缩, 在XtraBackup的binary包中可获得该文件)。 在使用参数stream=tar备份的时候,你的xtrabackup_logfile可能会临时放在/tmp目录下,如果你备份的时候并发写入较大的话xtrabackup_logfile可能会很大(5G+),很可能会撑满你的/tmp目录,可以通过参数--tmpdir指定目录来解决这个问题。 --tmpdir=DIRECTORY 当有指定--remote-host or --stream时, 事务日志临时存储的目录, 默认采用MySQL配置文件中所指定的临时目录tmpdir --redo-only --apply-log组, 强制备份日志时只redo ,跳过rollback。这在做增量备份时非常必要,增量备份需要使用该命令。 --use-memory=#
该参数在prepare的时候使用,控制prepare时innodb实例使用的内存量 --throttle=IOS
同xtrabackup的--throttle参数 --sleep=是给ibbackup使用的,指定每备份1M数据,过程停止拷贝多少毫秒,也是为了在备份时尽量减小对正常业务的影响,具体可以查看ibbackup的手册 ; --compress[=LEVEL]
对备份数据迚行压缩,仅支持ibbackup,xtrabackup还没有实现; --include=REGEXP
对xtrabackup参数--tables的封装,也支持ibbackup。备份包含的库表,例如:--include="test.*",意思是要备份test库中所有的表。如果需要全备份,则省略这个参数;如果需要备份test库下的2个表:test1和test2,则写成:--include="test.test1|test.test2"。也可以使用通配符,如:--include="test.test*"。 --databases=LIST
列出需要备份的databases,如果没有指定该参数,所有包含MyISAM和InnoDB表的database都会被备份; --uncompress
解压备份的数据文件,支持ibbackup,xtrabackup还没有实现该功能; --slave-info,
备份从库, 加上--slave-info备份目录下会多生成一个xtrabackup_slave_info 文件, 这里会保存主日志文件以及偏移, 文件内容类似于:CHANGE MASTER TO MASTER_LOG_FILE='', MASTER_LOG_POS=0 --socket=SOCKET
指定mysql.sock所在位置,以便备份进程登录mysql. mysqldump实战:
正在运行的网站系统,mysql数据库,数据量25G,日业务增量10-15M。
备份方式:
每天23:00点,计划任务调用mysqldump执行全备脚本
故障时间点:
上午10点,误删除了一个表
恢复思路:
0. 挂出维护页面
1. 找测试库
2. 恢复全备到测试库
3. 截取二进制日志到误删除时间点,恢复到测试库
起点:master-data=2,找备份文件,获取到日志名字和位置号
终点:分析最后一个binlog,找到误删除事件的位置点
4. 验证数据,将故障表导出,导入会生产库
5. 开启业务
1. 模拟昨天的全备
mysqldump -uroot -p -A -R --triggers --master-data=2 --single-transaction>all.sql
2.
2. 模拟白天的业务
create database baidu charset utf8;
use baidu;
create table t1 (id int);
insert into t1 values(1),(2),(3);
commit;
insert into t1 values(11),(12),(13);
commit;
update t1 set id=10 where id=1;
commit;
3,删除一些数据
4, 查看 备份文件第22行:
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000016', MASTER_LOG_POS=425;
截取二进制日志:
mysql -uroot -p
show binlog events in 'mysql-bin.000016'; >>>>>>>>1231
5, 截取binlog
mysqlbinlog --start-position=425 --stop-position=1231 /data/mysql/mysql-bin.000016 >/backup/binlog.sql
6.开始恢复
set sql_log_bin=0;
source /backup/all.sql
source /backup/binlog.sql
innobackupex --user=root --password=123 --no-timestamp /backup/full 开始备份
kingle [(none)]>create database full charset utf8;
kingle [(none)]>use full
kingle[full]>create table t1(id int);
kingle[full]>insert into t1 values(1),(2),(3);
kingle[full]>commit;
innobackupex --user=root --password=123 --no-timestamp --incremental-basedir=/backup/full --incremental /backup/inc1 --incremental-basedir= : 上次备份的路径.
--incremental :打开增量备份的功能
create database inc1 charset utf8;
use inc1
create table t2(id int);
insert into t2 values(1),(2),(3);
commit;
innobackupex --user=root --password=123 --no-timestamp --incremental-basedir=/backup/inc1 --incremental /backup/inc2
准备恢复
innobackupex --apply-log --redo-only /backup/full/ 第一次增量合并并准备:
innobackupex --apply-log --redo-only --incremental-dir=/backup/inc1 /backup/full 第二次增量合并并准备:
innobackupex --apply-log --incremental-dir=/backup/inc2 /backup/full 全备再次准备:
innobackupex --apply-log /backup/full/
1. 停数据库
pkill mysqld 2. 删数据
rm -rf /application/mysql/data/* 3.准备备份(使用redo前滚,使用undo回滚,保证数据一致性)
innobackupex --apply-log /backup/full/ 4.恢复数据:
cd /backup/full
cp -a * /application/mysql/data/
或者:
innobackupex --copy-back /backup/full/ 5.改权限,起数据库 chown -R mysql. /application/mysql/data/*
/etc/init.d/mysqld start
innoback 参数及使用说明的更多相关文章
- Java之可变参数方法使用说明
代码: package test_demo; /* * 可变参数函数说明 * 传入指定数据类型的数组 * 优先匹配固定长度函数 * */ public class VarArgsDemo { // 可 ...
- setDefaultCloseOperation()参数得使用说明
System.exit(0)是退出整个程序,如果有多个窗口,全部都销毁退出.setDefaultCloseOperation()是设置用户在此窗体上发起 "close" 时默认执行 ...
- opcache运行时配置参数详解
PHP的opcode缓存又出 了新成员(说新不新,也有一段日子了),那就是opcache.新浪微博等都在使用,惠新宸老师强力推荐.本人最近根据官网地址 (http://www.php.net/manu ...
- EXCEL函数LookUp, VLOOKUP,HLOOKUP应用详解(含中文参数解释)
关于VLOOKUP函数的用法 “Lookup”的汉语意思是“查找”,在Excel中与“Lookup”相关的函数有三个:VLOOKUP.HLOOKUO和LOOKUP.下面介绍VLOOKUP函数的用法. ...
- 深入浅析JAVA注解
注解,相信大家都会知道,像@requestMapping,@Resource,@Controller等等的一些注解,大家都用过,那么,他的工具类你用过吗?下面就和大家一起来分享一下注解工具类. 注解的 ...
- 深入理解Java:注解
注解作用:每当你创建描述符性质的类或者接口时,一旦其中包含重复性的工作,就可以考虑使用注解来简化与自动化该过程. Java提供了四种元注解,专门负责新注解的创建工作. 元注解 元注解的作用就是负责注解 ...
- Java Basic - Annotation
使用注解最主要的部分在于对注解的处理,那么就会涉及到注解处理器. 从原理上讲,注解处理器就是通过反射机制获取被检查方法上的注解信息,然后根据注解元素的值进行特定的处理. 注解处理器类库( ...
- tornado api 简单模板
# 安装 pip insatll tornado # 主文件 web_server.py #!/usr/bin/env python # encoding: utf-8 import tornado. ...
- Python之函数与变量
本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 全局变量与局部变量 值传递和引用传递 一.函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有 ...
随机推荐
- 20169219 SQL注入实验报告
实验介绍 SQL注入技术是利用web应用程序和数据库服务器之间的接口来篡改网站内容的攻击技术.通过把SQL命令插入到Web表单提交框.输入域名框或页面请求框中,最终欺骗服务器执行恶意的SQL命令. 在 ...
- HackTen 格式化TextView的文本
1.概要: TextView是Android提供的一个简单却功能强大的UI控件.读者可以在应用程序中通过多种方法使用不同样式的文本. 监管TextView并不支持所有HTML标签,但是用于格式 ...
- GetPixelAddress()函数Alpha通道会丢失
CImage类中GetPixelAddress()函数来设置获取对应的颜色值是发现Alpha无效. void CGBImage::Load(){ CImage sourceImage; sourceI ...
- MVC进阶篇(三)——model层数据验证
前言 常常在想,姓名性别那些个验证,真的有必要每次遇到,每次写验证吗?好麻烦,于是学到MVC这里,发现MVC自带数据验证,这个东西着实是个好东西.我写了一个小demo,分享给大家. 内容 一个表单的提 ...
- 如何下载网页上的视频 并且 flv 格式转化成 MP4
链接:http://www.jb51.net/softjc/222135.html https://jingyan.baidu.com/article/25648fc162f2899190fd0042 ...
- 使用django进行发送 邮件
我们来看一下 django发送 邮件的整个流程 第一步:例先去 网易163注册账号并激活发邮件功能 把授权码进行 开启 来到我们的项目setting中进行 一个配置: # 邮箱的配置信息 EMAIL_ ...
- [agc008f] Black Radius 树形dp
Description 给你一棵有NN个节点的树,节点编号为11到NN,所有边的长度都为11 "全"对某些节点情有独钟,这些他喜欢的节点的信息会以一个长度为NN的字符串ss ...
- Communication with each role instance in Azure
Use WCF Communication with role instance in azure 1)In worker role build WCF Service public overrid ...
- 关于fatal error LINK1123:failure during conversion to COFF:file invalid or corrupt
今天用Visual Studio 2010编译postgresql工程时突然遇到下面这个编译错误: fatal error LINK1123:failure during conversion to ...
- underscore里面的debounce与throttle
throttle 策略的电梯.保证如果电梯第一个人进来后,15秒后准时运送一次,不等待.如果没有人,则待机. debounce 策略的电梯.如果电梯里有人进来,等待15秒.如果又人进来,15秒等待重新 ...