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
- 3.2 配置构建Angular应用——简单的笔记存储应用
本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...
- Log4j简单学习笔记
log4j结构图: 结构图展现出了log4j的主结构.logger:表示记录器,即数据来源:appender:输出源,即输出方式(如:控制台.文件...)layout:输出布局 Logger机滤器:常 ...
- Linux——帮助命令简单学习笔记
Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...
- OI数学 简单学习笔记
基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...
- 3.2.1 配置构建Angular应用——简单的笔记存储应用——编辑功能
本节我们会接着上节课的内容,继续来完成使用Angular来创建简单的笔记存储应用,上一节课,我们完成了笔记的展示功能,本节课,我们来完成编辑功能. 编辑主要是两个功能:编辑现有的笔记以及创建新笔记.首 ...
- 3.2.1 配置构建Angular应用——简单的笔记存储应用——展示功能
本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...
- format()的简单实用 笔记
# 关于format和format_map的使用# 如果要使用输出的字符串对其不仅仅是可以使用format,还可以使用ljust/rjust/center来处理,输出当然也可以是使用%来进行操作,但是 ...
- Liquibase+SpringBoot的简单使用笔记!update+rollback
该笔记记录了springboot整合liquibase之后,如何根据liquibase ChangeLogFile对数据库进行修改以及回滚操作 参考: baeldung.com JHipster 1. ...
- ElasticSearch 5学习(4)——简单搜索笔记
空搜索: GET /_search hits: total 总数 hits 前10条数据 hits 数组中的每个结果都包含_index._type和文档的_id字段,被加入到_source字段中这意味 ...
随机推荐
- ubuntu文件管理常用命令
1.关闭防火墙:ufw disable 2.以.开头的表示隐藏文件 3..和..分别代表当前目录以及当前目录的父目录 4.显示当前用户所在目录pwd 5.touch创建空文件 6.mkdir创建新目录 ...
- [rrdtool]监控和自动画图,简单的监控.md
现在想要监控服务的流量和并发数,可是又没那么多时间来写系统,其他的运维系统又不熟悉,于是就用现有的rrdtool shell做了个简单的监控界面,临时用下,也算是个小实验把. rrdtool也是刚接触 ...
- 【一天一道LeetCode】#108. Convert Sorted Array to Binary Search Tree
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
- 水晶报表中"已达到系统管理员配置的最大报表处理作业数限制"错误的处理
错误描述:用水晶报表做报表时当多次打开报表后会经常会出现"已达到系统管理员配置的最大报表处理作业数限制. "的错误. 1.自身的问题:用完CrystalDecisions.Crys ...
- sed命令 linux
sed 实用工具是一个"编辑器",但它与其它大多数编辑器不同.除了不面向屏幕之外,它还是非交互式的.这意味着您必须将要对数据执行的命令插入到命令行或要处 理的脚本中.当显示它时,请 ...
- 【翻译】对于Ext JS 5,你准备好了吗?
原文:Are You Ready for Ext JS 5? Ext JS 5:准备升级 对于Ext JS 5加入Sencha的大家庭,我们感到非常高兴!作为一个主要版本,在Ext JS 5引入了一堆 ...
- Dynamics CRM 通过OData查询数据URI中包含中文的情况
filter条件如下"?$filter=new_name eq '采购主管' and new_entityname eq 'new_purchaseenquiry' ",如果用这个 ...
- 浅析GDAL库C#版本支持中文路径问题(续)
上篇博客中主要说了GDAL库C#版本中存在的问题,其表现形式主要是:"文件名中的汉字个数是偶数,完全没有影响,读取和创建都正常,如果文件名中的汉字个数是奇数,读取和创建都会报错." ...
- 理解WebKit和Chromium: Chromium网络栈
转载请注明原文地址:http://blog.csdn.net/milado_nju ## 概述 前面讲到Chromium的资源加载机制,在调用栈上,提到URLRequest之后就戛然而止,在这之下就是 ...
- 《java入门第一季》之面向对象(匿名对象)
/* 匿名对象:就是没有名字的对象. 匿名对象的应用场景: A:调用方法,仅仅只调用一次的时候. 注意:调用多次的时候,不适合. 匿名对象调用完毕就是垃圾.可以被垃圾回收器回收,释放了系统资源. B: ...