这次使用的mysql版本是5.6.20、xtrabackup 2.X 如有问题、可联系公众号:阿牛哥在厦门 通过查看官方文档,xtrabackup 已经分成了2.X版本和8.X版本,其中8.X版本专门针对于...备份脚本: #!.../my.cnf #mysql用户名 user_name=root #mysql密码 password=Xmlgrg163 #xtrabackup备份日志文件名 out_log=${backdir}/xbstream_log...-d "$backdir" ]; then mkdir $backdir fi #start xtrabackup #full if [ !...,因为xtrabackup备份参数有变。
全量备份脚本 #!...FULLBACKUPDIR=$BACKUPDIR/full # 全库备份的目录 INCRBACKUPDIR=$BACKUPDIR/incr # 增量备份的目录 KEEP=1 # 保留几个全库备份...-d $i ]; then mkdir -pv $i fi done # 压缩上传前一天的备份 echo "压缩前一天的备份,scp到远程主机" cd...find $BACKUPDIR/ -mtime +3 -name "*.tar.gz" -exec rm -rf {} \; echo echo "completed: `date`" exit 0 增量备份脚本...FULLBACKUPDIR=$BACKUPDIR/full # 全库备份的目录 INCRBACKUPDIR=$BACKUPDIR/incr # 增量备份的目录 ###################
利用Xtrabackup进行mysql增量备份 现在xtrabackup版本升级到了8.0,但是只对mysql8.0才有支持, 我们这还是使用2.4, 但是2.4相比之前的2.1有了比较大的变化:innobackupex...xtrabackup --move-back 命令 增量备份 增量是基于已有数据进行备份的,也就行需要先创建一次全量备份,然后记录当时的记录点 创建备份 xtrabackup --user=bkpuser...LSN,对于增量备份,它必须to_lsn与先前 base 备份的相同。..., 一旦准备好,增量备份就与完整备份相同,可以用相同的方式还原它们。...提问总结 增量备份步骤 创建基础备份 一定条件进行增量备份创建 对所有备份进行准备 所有增量基于基础备份 相当于合并操作 最后和全量备份一样 直接恢复即可 原理 在InnoDB内部会维护一个redo日志文件
MySQL 8.0.19 Redhat 7.4 操作系统账号:mysql 数据库备份账号:backup 1. prepare阶段 上节我们介绍了如何使用xtrabackup对数据库进行增量备份,分别为base...你可以在任何机器上prepare 2. prepare 备份 通过上一节内容我们有如下备份内容 第一次全备第一次增量备份第二次增量备份我们同样使用--apply-log进行恢复动作,相当于Oracle...的recover动作 我们需要依次进行prepare,即按照如下步骤进行 prepare第一次全备prepare第一次增量备份prepare第二次增量备份还有需要注意的是和prepare全备不一样,除了最后一步...这时数据文件处于非一致状态 2.2 prepare 第一次增量备份 xtrabackup --prepare --apply-log-only --use-memory=1G --target-dir...2.3 prepare 第二次增量备份 由于我们只有2个增量备份,所以这是最后一次prepare,所以不需要加--apply-log-only参数 xtrabackup --prepare -use-memory
接上一篇文章使用Xtrabackup备份MySQL数据库,下面介绍使用Xtrabackup实现MySQL数据库的增量备份 先在users表中插入10条记录,全库做一次全量备份 [root@localhost...--incremental-basedir应该指向上一次的增量备份所在的目录。...“准备”(prepare)增量备份与整理完全备份有着一些不同,尤其要注意的是: (1)需要在每个备份(包括完全和各个增量备份)上,将已经提交的事务进行“重放”。...,而INCREMENTAL-DIR-1指的是第一次增量备份的目录,INCREMENTAL-DIR-2指的是第二次增量备份的目录,其它依次类推,即如果有多次增量备份,每一次都要执行如上操作 下面模拟只有一次增量备份的增量备份还原过程...先确认两个备份目录哪一个是全量备份,哪一个是增量备份 然后进行prepare操作 innobackupex --defaults-file=/etc/my.cnf --user=root --password
实验环境 前面我们介绍了Xtrabackup 2.4版本的介绍,这个专题说8.0版本 大体上差不多,不过8.0版本移除了innobackupex命令且只能备份8.0版本的MySQL 此次实验的环境如下...可以看到备份文件已经在目录下 1.4 然后进行增量备份 xtrabackup -S /data/mysql/data/mysql.sock --user=backup --password=123456...之后解除锁表,拷贝ib_buffer_pool文件(缓冲池文件) 记录binlog 位置信息 写信息值backup-my.cnf及xtrabackup_info 最后拷贝在备份期间变化的redo日志 3...其记录了备份完成时binlog的位置及GTID信息 用于复制的搭建 3.3 xtrabackup_checkpoints 该文件对于后续增量备份有用 ?...用于增量备份的起点 last_scn用于最后恢复的位置 这些后面介绍 3.4 xtrabackup_info ?
Part 6 使用innobackupex对全备进行恢复 XtraBackup工具详解 Part 7 使用innobackupex对数据库进行增量备份 实验环境 此次实验的环境如下 MySQL 5.7.25...,即需要对未提交的事务回滚以及对提交的事务进行前滚 这个过程在xtrabackup中叫做准备阶段(prepare stage) 这个阶段完成后该备份文件就可被使用 2. prepare增量备份 通过上一节内容我们有如下备份内容...第一次全备 第一次增量备份 第二次增量备份 我们同样使用--apply-log进行恢复动作,相当于Oracle的recover动作 我们需要依次进行prepare,即按照如下步骤进行 prepare第一次全备...prepare第一次增量备份 prepare第二次增量备份 还有需要注意的是和prepare全备不一样,除了最后一步,我们需要加上--redo-only 该参数使prepare只对commit过的语句进行提交...到这里我们完成使用innobackupex进行增量备份和还原 5.
举个栗子,我们来看备份时 xtrabackup_suspended_2 是怎么来协调2个工具进程的 innobackupex 在启动 xtrabackup 进程后,会一直等 xtrabackup 备份完...PXB备份过程 PXB 备份过程 innobackupex 在启动后,会先 fork 一个进程,启动 xtrabackup进程,然后就等待 xtrabackup 备份完 ibd 数据文件; xtrabackup...增量备份 PXB 是支持增量备份的,但是只能对 InnoDB 做增量,InnoDB 每个 page 有个 LSN 号,LSN 是全局递增的,page 被更改时会记录当前的 LSN 号,page中的 LSN...每次备份会记录当前备份到的LSN(xtrabackup_checkpoints 文件中),增量备份就是只拷贝LSN大于上次备份的page,比上次备份小的跳过,每个 ibd 文件最终备份出来的是增量 delta...MyISAM 是没有增量的机制的,每次增量备份都是全部拷贝的。 增量备份过程和全量备份一样,只是在 ibd 文件拷贝上有不同。
mysqldata/mysql.sock out_log=$backdir/xtraback_log_$format_time time_cost=$backdir/xtraback_time.txt #判断数据备份的压缩目录是否存在...-d "$tardir" ];then mkdir -p $tardir fi #判断备份目录是否存在 if [ !...-d "$backdir" ]; then mkdir -p $backdir else #判断昨日是否备份,有则打包压缩后删除之前备份的目录 if [ -d "$backdir/rec2...sleep 3 rm -fr ${backdir}/* fi fi #凌晨3时完全备份 if [ $currentHour -eq 03 ] && [ !...=$passwd --port=$port --socket=$sock $backdir/full &> ${out_log}-full.log sleep 3 #中午14时与晚上19时进行增量备份
MySQL 备份之 xtrabackup | innobackupex Xtrabackup 介绍 Xtrabackup 是一个对 InnoDB 做数据备份的工具,支持在线热备份(备份时不影响数据读写)...在线(热)备份整个库的InnoDB、 XtraDB表 在xtrabackup的上一次整库备份基础上做增量备份(innodb only) 以流的形式产生备份,可以直接保存到远程机器上(本机硬盘空间不足时很有用...) MySQL数据库本身提供的工具并不支持真正的增量备份,二进制日志恢复是point-in-time(时间点)的恢复而不是增量备份。...Xtrabackup工具支持 对InnoDB存储引擎的增量备份,工作原理如下: (1)首先完成一个完全备份,并记录下此时检查点的LSN(Log Sequence Number)。...而xtrabackup有增量备份的功能,在短时间内可以通过进行增量备份来保证数据的安全性。而长期来看,仍然需要间断性的进行全库 备份。
有一个项目要从云上整体迁移到公司机房内,里面有mysql5.6.20,这个mysql没做过备份,也没主从,然后打算通过xtrabackup先做个全备,然后再做个主从(因为在迁移的阶段,云上服务器还会有新的数据生成...,主从是为了确保迁移的数据完整) 一、安装mysql5.6.20 在新机器上部署mysql5.6.20,需确保和之前的mysql版本一致 my.cnf也要基本一致 二、xtrabackup的安装 #...percona-xtrabackup-2.2.12-1.el7.x86_64.rpm 验证是否安装成功:输入命令innob,按tab键,若自动补全innobackupex ,则说明安装成功。...#日志回滚 --incremental= #增量备份,后跟增量备份路径 --incremental-basedir= #增量备份,指上次增量备份路径 --redo-only...#合并全备和增量备份数据文件 --copy-back #将备份数据复制到数据库,数据库目录要为空 --move-back #这个选项与--copy-back相似,唯一的区别是它不拷贝文件
一.xtrabackup介绍 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写)它由percona提供的MySQL数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对...查看备份后的数据 各文件说明: (1)xtrabackup_checkpoints —— 备份类型(如完全或增量)、备份状态(如是否已经为prepared状态)和LSN(日志序列号)范围信息; 每个...使用xtrabackup对MySQL增量备份 4.1创建测试库、表,然后插入测试数据 mysql> create database test character set utf8; Query OK,...mysql> insert into test values(2,'test'); Query OK, 1 row affected (0.04 sec) mysql> exit; Bye #第一次增量备份...[root@zha /]# du -sh /mysql_backup/ 69M /mysql_backup/ [root@zha /]# du -sh /test2/ 1.5M /test2/ 至此增量备份已经完成
(1)全备分花费的成本较高,mysqldump+binlog实现全备 + 增量备份,缺点是恢复成本比备份时间成本还高 (2)xtrabackup...:可以较长时间做一次全备,其余时间都是增量,全量备份空间成本很高如果数据量在30G-->TB级别的话,更推荐使用xtrabackup工具。... "增量"备份的过程主要是通过拷贝innodb中有变更的"页"(这些变更的数据页指的是"页"的LSN大于xtrabackup_checkpoints中给定的LSN)。...,每日更新量100M-200M 备份方案: xtrabackup全备+增量 备份策略(crontab):...--incremental-history-name 该选项表示存储在PERCONA_SCHEMA.xtrabackup_history基于增量备份的历史记录的名字。
1、安装 下载地址:https://www.percona.com/downloads/Percona-XtraBackup-LATEST/ 2、备份 # innobackupex --defaults-file...,采用tar模式,备份到当前目录下当前时间.tar.gz文件 3、还原 假如备份出来的文件为【2019-03-26092718.tar.gz】 3.1 解压缩 # mkdir 2019-03-26092718...03-26092718/ # cat xtrabackup_binlog_info mysql-binlog.000181 12921798 ## mysql-binlog.000181...为备份到binlog文件名称,12921798 为备份到的position点 3.3 执行apply-log,应用rodo # innobackupex --apply-log ./ 3.4 执行copy-back...这里就开始copy备份文件到即将要还原备份的地方,这里需要提交配置好即将还原备份的cnf文件 # innobackupex --defaults-file=/data/mysql/mysql3306/
增量脚本 xbak-section.sh,对变量和命令部分进行配置 #!.../bin/bash #增量备份 #备份目录 backup_dir="/bak/mysql-xback" #新旧备份 old_dir=`cat /tmp/mysql-backup.txt` new_dir...-d ${backup_dir}/all-backup ]];then echo "还未全量备份" exit 1 fi #命令,要填写账号密码 /usr/bin/innobackupex...-eq 0 ]];then echo "${new_dir}" > /tmp/mysql-backup.txt else echo "备份失败" exit 1 fi 二.备份策略...首先bash -x xbak-all.sh来进行一次全备份,数据量大可能要等一会 再每天夜里2点半进行一次增量备份,脚本将自动执行上一次备份结果来接替备份。
XtraBackup备份流程介绍 01 背景 Xtrabackup是Percona公司开发的一款开源的MySQL热备份工具,之前的工作中也是经常使用,但是也仅仅是停留在使用的阶段,对于这个工具的细节...、压缩、加密、以及增量备份等等。...优点如下: 1、无需停止数据库进行InnoDB热备份,在50G以上的数据量备份时候,应该是首选工具。 2、支持增量备份MySQL并通过流传输到其他的服务器上。...xtrabackup_checkpoints:记录备份的类型、备份的状态信息、增量备份依赖于这个信息 xtrabackup_binlog_info:该文件记录备份时候的二进制文件信息和偏移量位置信息。...xtrabackup_binary:该文件记录备份进程使用的xtrabackup二进制文件。
一.备份脚本 环境需求 编辑/etc/my.cnf文件添加在[mysqld]版块下添加如下变量,添加后重启服务。.../bin/bash #全量备份,只备份一次 #备份目录,目录不存在会自动创建 backup_dir="/bak/mysql-xback" #检查 [[ -d ${backup_dir} ]] || mkdir...-p ${backup_dir} if [[ -d ${backup_dir}/all-backup ]];then echo "全备份已存在" exit 1 fi #命令,要填写备份用的账号和密码...-eq 0 ]];then echo "all-backup" > /tmp/mysql-backup.txt else echo "备份失败" exit 1 fi
备份完成后可以看到在/oradata/data/mysql/xtra/full 目录下新建了以日期命名的目录 1.4 第一次增量备份 接下来我们进行第一次的增量备份,备份前我们可以首先更新一些数据库数据方便讲解...1.5 第二次增量备份 如果需要继续做增量备份,我们可以选择在全备的基础上做增量,也可以选择在第一次增量备份的基础上做增量备份 innobackupex -S /oradata/data/mysql...其记录了备份完成时binlog的位置及GTID信息 用于复制的搭建 3.3 xtrabackup_checkpoints 该文件对于后续增量备份有用 ?...说明在备份过程中有DML操作 to_last 用于增量备份的起点 last_scn 用于最后恢复的位置 其中from_lsn跟全备的to_lsn是一致的 这些后面介绍 3.4 xtrabackup_info...该文件包含一些备份的信息就不一一介绍了 4.无全备情况增量备份 前面说了增量备份只会拷贝大于一个LSN的内容,我们可以直接指定LSN来进行增量备份 当然前提是要知道LSN号 innobackupex
/bin/sh #on xtrabackup 2.2.8 # 第一次执行它的时候它会检查是否有完全备份,否则先创建一个全库备份 # 当你再次运行它的时候,它会根据脚本中的设定来基于之前的全备或增量备份进行增量备份...#ocpyang@126.com INNOBACKUPEX_PATH=innobackupex #INNOBACKUPEX的命令 INNOBACKUPEXFULL=/usr/local/xtrabackup...无增量备份,必须保留1份全备即全备/backup/full/2015-04-03_16-35-11....-11名字作为增量备份基础目录名 增量备份将以/backup/full/.../full/2015-04-03_16-35-11作为基础本次增量备份的基础目录.
/mysql.sock out_log=$backdir/xtraback_log_$format_time time_cost=$backdir/xtraback_time.txt #判断数据备份的压缩目录是否存在...-d "$tardir" ];then mkdir -p $tardir fi #判断备份目录是否存在 if [ !...-d "$backdir" ]; then mkdir -p $backdir else #判断昨日是否备份,有则打包压缩后删除之前备份的目录 if [ -d "$backdir/rec2...sleep 3 rm -fr ${backdir}/* fi fi #凌晨3时完全备份 if [ $currentHour -eq 03 ] && [ !...passwd --port=$port --socket=$sock $backdir/full &> ${out_log}-full.log sleep 3 #中午14时与晚上19时进行增量备份
领取专属 10元无门槛券
手把手带您无忧上云