innobackupex
选项介绍
--backup 备份
--apply-log   应用日志
--move-back  --copy-back 恢复
--export 只导出单个表。前提是使用innodb_file_per_table
decompress  decrypt  解压,解密
--incremental-basedir 增量备份的基路径
--incremental-lsn 指定增量备份的lsn。就可以不用指定增量备份的基路径。
--incremental-dir 增量备份到哪
--safe-slave-backup 在从节点备份,指定该参数停止SQL线程,等到show status 总的 Slave_open_temp_tables为0开始备份。如果Slave_open_temp_tables不为0。将不断启动停止SQL线程知道Slave_open_temp_tables为0。如果超过了--safe-slave-backup-timeout 指定时间,Slave_open_temp_tables 还不为0,备份失败。
--rsync 使用rsync实用程序优化本地文件传输。不能--stream一同使用
--parallel 并行线程
--no-timestamp 不生成时间戳目录
--compress 压缩为qp格式
--compress-threads 压缩的线程
--rebuild-indexes
--rebuild-threads
--decompress 解压缩,需要 qpress
--incremental-history-name   PERCONA_SCHEMA.xtrabackup_history
--stream 指定输出格式,目前支持tar和xbstream
--tmpdir 指定文件的临时存储位置,默认为my.cnf里面配置的临时位置。
--use-memory  使用的内存,仅仅用于--apply-log
--redo-log-version
--redo-only 在增量备份恢复时,跳过rollback。只做redo。
--tables-file
--include=REGEXP 对xtrabackup参数--tables的封装,也支持ibbackup。备份包含的库表,例如:--include="test.*",意思是要备份test库中所有的表。如果需要全备份,则省略这个参数;如果需要备份test库下的2个表:test1和test2,则写成:--include="test.test1|test.test2"。也可以使用通配符,如:--include="test.test*"。
--databases=LIST  例如 --databases='lizhi_online test'   也可以指定某个表--databases='test.t1' 。
列出需要备份的databases,如果没有指定该参数,所有包含MyISAM和InnoDB表的database都会被备份;
--compress  xtrabckup自身带的压缩和--stream 互斥。 在压缩方面  gzip压缩率最大,但是压缩时间久。--compress (即qpress)压缩率较小,但是压缩快,可以指定多线程。建议使用 xtrabackup自身带的--compress压缩。
--slave-info  重要参数。只有开启了GTID才可用,如果在从库进行备份,会生成一个备份文件xtrabackup_slave_info  记录了 SET GLOBAL gtid_purged='xxx' ;CHANGE MASTER TO MASTER_AUTO_POSITION=1 。这样可以方便的接到主库上。
 
备份(用stream模式备份)
innobackupex   --defaults-file=$defaults  --host=${host} --user=${user} --password="${password}" --port=${port}   --parallel=6  --compress --compress-threads=6 --slave-info  --stream=xbstream  $backup_dir   >$backup_file  2>$backup_log
例如:
/usr/local/xtrabackup/bin/innobackupex  --defaults-file=/usr/local/mysql/my_online.cnf --socket=/data_db1/mysql_online/data/mysql.sock  --databases='lizhi_online test' --user root --password '123456'  --stream=tar /tmp/xtrabackupdir/ |gzip  >/tmp/xtrabackupdir/online_mysql2.tar.gz
 
 
恢复全部备份
/usr/local/xtrabackup/bin/innobackupex  --apply-log  /dir
innobackupex   --defaults-file=/usr/local/mysql/my_Podcast.cnf      --copy-back  /dir &
或者使用--move-back
innobackupex   --defaults-file=/usr/local/mysql/my_Podcast.cnf     --move-back  /dir &
 
恢复全部备份中的指定表
innobackupex  --apply-log --export  /backupdir  (可以通过--include 仅export某个表,其他表会被忽略。报错数据正常 )
复制目录下生成的 .exp .cfg .ibd 文件到目标实例做恢复
目标实例:
create table push_msg
alter table push_msg discard tablespace;
复制cfg exp ibd文件 到对应数据目录下  (如: ls |grep push_content|grep -E 'cfg$|ibd$|exp$'|while read line ;do mv  $line dir ;done  )
alter table push_content import tablespace;
 
恢复完毕后 change重定向主库
change master to
master_host='xxx',
master_port=xxx,
master_user='xxx',
master_password='xxx',
master_log_file='xxx',
master_log_pos=xxx;
 
相关命令
解压 xbstream备份的介质
xbstream  -x < xxxx.xbstream -C ./
解压有带--compress压缩的每个备份文件
for fil in `ls ./*/*qp`;do dirname=`dirname $fil`;echo $fil;qpress -d $fil $dirname;done;
解压完删除.qp文件
for fil in `ls ./*/*qp`;do dirname=`dirname $fil`;echo $fil;qpress -d $fil $dirname;if [ $? -eq 0 ];then rm -rf $fil;fi;done;
 
xtrabackup BUG
 如果创建表使用数据目录之外的目录。会在数据目录下生成isl文件存储ibd目录的全地址。但恢复 --copy-back 或者move-back不一定能够把对应的ibd移动到相关目录。
根据isl链接移动文件到目标目录:
ls |grep   isl$|while read line; do echo $line;strings $line|awk -F/ '{print $NF}' |awk '{system("mv   "$0"  /dir ")}';done

innobackupex 简单使用笔记的更多相关文章

  1. 3.2 配置构建Angular应用——简单的笔记存储应用

    本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...

  2. Log4j简单学习笔记

    log4j结构图: 结构图展现出了log4j的主结构.logger:表示记录器,即数据来源:appender:输出源,即输出方式(如:控制台.文件...)layout:输出布局 Logger机滤器:常 ...

  3. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  4. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  5. 3.2.1 配置构建Angular应用——简单的笔记存储应用——编辑功能

    本节我们会接着上节课的内容,继续来完成使用Angular来创建简单的笔记存储应用,上一节课,我们完成了笔记的展示功能,本节课,我们来完成编辑功能. 编辑主要是两个功能:编辑现有的笔记以及创建新笔记.首 ...

  6. 3.2.1 配置构建Angular应用——简单的笔记存储应用——展示功能

    本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...

  7. format()的简单实用 笔记

    # 关于format和format_map的使用# 如果要使用输出的字符串对其不仅仅是可以使用format,还可以使用ljust/rjust/center来处理,输出当然也可以是使用%来进行操作,但是 ...

  8. Liquibase+SpringBoot的简单使用笔记!update+rollback

    该笔记记录了springboot整合liquibase之后,如何根据liquibase ChangeLogFile对数据库进行修改以及回滚操作 参考: baeldung.com JHipster 1. ...

  9. ElasticSearch 5学习(4)——简单搜索笔记

    空搜索: GET /_search hits: total 总数 hits 前10条数据 hits 数组中的每个结果都包含_index._type和文档的_id字段,被加入到_source字段中这意味 ...

随机推荐

  1. SpriteBuilder中使用GUI界面快速搭建RPG游戏中的地图名显示动画

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在RPG游戏中我们在进入一个新的场景时,比如一个房间,一个村庄, ...

  2. 使用JavaScript在Canvas上画出一片星空

    随着Html5的迅猛发展,画布也变得越来越重要.下面我就写一个关于在canvas上画出一片星空的简单的代码的示例. 理论基础 初始化一个canvas,获得一个用于绘制图形的上下文环境context.并 ...

  3. UNIX网络编程——TCP长连接与短连接的区别

    一.TCP短连接 我们模拟一下TCP短连接的情况,client向server发起连接请求,server接到请求,然后双方建立连接.client向server发送消息,server回应client,然后 ...

  4. Zeroc Ice Slice语言使用 HelloWorld

    Slice介绍         为了开发多语言支持的RPC服务,需要一种中立的新语言来定义这个服务接口,以便各个编程语言能够准确无误地理解和翻译接口,为此Ice设计了Slice语言.Ice开发的第一步 ...

  5. AngularJS进阶(三十八)上拉加载问题解决方法

    AngularJS上拉加载问题解决方法 项目中始终存在一个问题:当在搜索栏输入关键词后(见图1),按照既定的业务逻辑应该是服务端接收到请求后,首先返回查询的前7条数据,待客户端出现上拉加载时,继续查找 ...

  6. 设计模式之——工厂模式(C)

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41219129 主要介绍抽象工厂模式,以及工厂方法和抽象工厂 ...

  7. Mybatis插件原理分析(一)

    我们首先介绍一下Mybatis插件相关的几个类,并对源码进行了简单的分析. Mybatis插件相关的接口或类有:Intercept.InterceptChain.Plugin和Invocation,这 ...

  8. 9.9、Libgdx之软键盘

    (官网:www.libgdx.cn) 大部分Android设备和所有的iOS设备没有实体键盘.取而代之的是软键盘,为了调用软键盘,可以使用如下方法: Gdx.input.setOnscreenKeyb ...

  9. python发送post请求

    urllib2.urlopen() urlib2是使用各种协议完成打开url的一个扩展包.最简单的使用方式是调用urlopen方法,比如 def urlopen(url, data=None, tim ...

  10. iOS树状视图(折叠单元格)详细使用

    RATreeView是一个第三方的iOS树视图(通俗的讲就是折叠单元格),它是对UITableView的封装,定义自己的委托和数据源的法,RATreeView是高度可定制的,并且有很多功能.很多朋友都 ...