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字段中这意味 ...
随机推荐
- ajax核心技术1---XMLHttpRequset对象的使用
AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.AJAX = 异步 Ja ...
- 【一天一道LeetCode】#165. Compare Version Numbers
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源: htt ...
- Android进阶(六)文件读操作
Android中文件的读写操作与Java中文件的读写操作是有区别的.在Java中,读文件操作如以下代码所示: public class FileRead { private static final ...
- c#一些特殊语法
1.using 语法 using不仅可以作为导入包,重命名类名.还可以释放资源 using (Pen gridLinePen = new Pen(Color.red)) { e.Graphics.Dr ...
- html5学习之旅-html5的简易数据库开发(18)
实际上是模拟实现html5的数据库功能,用键值对的方式. !!!!!!废话不多说 ,代码 index.html的代码 <!DOCTYPE html> <html lang=" ...
- H5学习之旅-H5的表单(11)
H5的表单元素 form:表单 input:输入域,type属性可以设置text,password,button等不同的属性 textarea:文本域 lable:控制标签 fieldset:定义域 ...
- 【一天一道LeetCode】#57. Insert Interval
一天一道LeetCode系列 (一)题目 Given a set of non-overlapping intervals, insert a new interval into the interv ...
- R--线性回归诊断(二)
线性回归诊断--R [转载时请注明来源]:http://www.cnblogs.com/runner-ljt/ Ljt 勿忘初心 无畏未来 作为一个初学者,水平有限,欢迎交流指正. R--线性回 ...
- 关于post利用之Python
今天大师兄放出了自己用PHP写的KTV点歌系统,注明,欢迎调戏,于是乎就尝试了下. 地址就不上了,到现在没补漏洞,我可不想被大师兄K…… 首先试试JavaScript脚本能否恶搞下 来个最基础的警告框 ...
- BDA大数据处理流程
可以看出,数据处理用云,可以高效完成.而分析部分应该利用传统的bi工具.