zoukankan      html  css  js  c++  java
  • innobackupex 简单使用笔记

    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
  • 相关阅读:
    java数据库连接池dbcp的使用
    图片轮显效果大全
    W5500问题集锦(持续更新中)
    Gamma校正及其OpenCV实现
    GlusterFS源代码解析 —— GlusterFS 日志
    cocos2dx 以子弹飞行为例解说拖尾效果类CCMotionStreak
    leetcode__Convert Sorted List to Binary Search Tree
    昨天面试新浪 java试题
    linux概念之性能调优
    Java实现 黑洞数
  • 原文地址:https://www.cnblogs.com/vansky/p/8268556.html
Copyright © 2011-2022 走看看