备份原理

xtrabackup的备份时间点是备份结束时刻,记录在xtrabackup_binlog_info 文件中;如果后续需要通过binlog追加操作,则该时间点是起点。

备份开始后,xtrabckup就开始复制数据库中的文件,不锁表,同时监控日志变化;

在复制完所有的database后,立即将此时数据库master status的位置写入xtrabackup_binlog_info 文件,所以从时间上来看,xtrabackup_binlog_info文件在数据库目录文件的下面,在其他文件的上面。

如果这个时间点有未提交的事务,则最终会回退,此操作为crash-recovery(崩溃恢复)--应用所有已提交和未提交的事务,并回滚未提交的事务。

备份前时刻

个人测试库环境,除非手工执行SQL语句,否则不会有其他事务产生,备份前

mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000038
Position: 19842
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec) ERROR:
No query specified
# rpm -qa | grep xtrabackup
percona-xtrabackup--2.4.-.el7.x86_64

开始备份

innobackupex  --defaults-file=/etc/my_bakdb.cnf --no-timestamp --user automng --host=192.168.56.82 --port=3319 --password ***** /data0/backup/dbbak_20180813

刚开始备份时备份目录的文件,此时并没有xtrabackup_binlog_info 文件

[root@red4 dbbak_20180813]# ls -ltrh
total 2.0G
-rw-r-----. 1 root root 2.0K Aug 13 16:40 xtrabackup_logfile
-rw-r-----. 1 root root 1.0G Aug 13 16:40 ibdata1

手工执行DML语句,让数据库产生事务变化

mysql> delete from sbtest9 limit 10;
Query OK, 10 rows affected (0.63 sec)

备份完成后,文件目录中,有xtrabackup_binlog_info 文件但要比相应的数据库的备份目录时间上靠后

[root@red4 dbbak_20180813]# ls -ltrh
total .1G
-rw-r-----. root root .0G Aug : ibdata1
drwxr-x---. root root .0K Aug : mysql
drwxr-x---. root root .0K Aug : sys
drwxr-x---. root root .0K Aug : txdb
drwxr-x---. root root .0K Aug : performance_schema
-rw-r-----. root root Aug : xtrabackup_binlog_info
-rw-r-----. root root 30K Aug : xtrabackup_logfile
-rw-r-----. root root Aug : xtrabackup_checkpoints
-rw-r-----. root root .5K Aug : ib_buffer_pool
-rw-r-----. root root Aug : backup-my.cnf
-rw-r-----. root root Aug : xtrabackup_info

可以看到xtrabackup_binlog_info文件中记录并不是刚开始的19842这个位置,而是事务变化后的24218位置,

# cat xtrabackup_binlog_info
mysql-bin.
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000038
Position: 24218
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec) ERROR:
No query specified

my13_mysql xtrabackup备份的时间点的更多相关文章

  1. mysqldump和xtrabackup备份原理实现说明

    背景: MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现. ...

  2. Percona XtraBackup 备份原理说明【转】

    本文来自:http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MyS ...

  3. MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]

    MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...

  4. Percona Xtrabackup备份mysql(转)

    add by zhj:另外,参考了Xtrabackup之innobackupex备份恢复详解,我用的是Xtrabackup2.2.6版本, 可以成功备份和恢复指定的数据库. 原文:http://www ...

  5. MySQL · 物理备份 · Percona XtraBackup 备份原理

    http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据 ...

  6. Percona XtraBackup 备份原理

    前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Percona Server 和 ...

  7. mysql xtrabackup 备份恢复实现,mysql命令备份数据库,打包压缩数据库

    简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.特点: (1)备份过程快速.可靠 ...

  8. xtrabackup备份mysql数据库的使用方法

    xtrabackup是由percona提供的mysql备份工具,它是一款物理备份工具,通过连接数据库把数据库的数据备份出来.对于innodb存储引擎其支持全量备份和增量备份.对于myisam存储引擎只 ...

  9. Percona XtraBackup 备份还原篇

    Percona XtraBackup 安装介绍篇已经对Percona XtraBackup的功能和安装做了比较详细的介绍,那么本篇我们直接进入主题,如何使用XtraBackup做备份.还原,下面主要介 ...

随机推荐

  1. ubuntu下使用PIL中的show函数,无法显示图片的问题

    问题描述:ubuntu14.04系统,python2.7(version),正在学习python中, from PIL import Image im = Image.open('1.jpg') im ...

  2. 数字图像处理实验(3):PROJECT 02-03, Zooming and Shrinking Images by Pixel Replication 标签: 图像处理matlab 20

    实验要求: Zooming and Shrinking Images by Pixel Replication Objective To manipulate a technique of zoomi ...

  3. Entity Framework Code-First(22):Code-based Migration

    Code-based Migration: Code-based migration is useful when you want more control on the migration, i. ...

  4. SDUT 3399 数据结构实验之排序二:交换排序

    数据结构实验之排序二:交换排序 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 冒泡排序和快 ...

  5. SPOJ - AMR11H Array Diversity (水题排列组合或容斥)

    题意:给定一个序列,让你求两种数,一个是求一个子序列,包含最大值和最小值,再就是求一个子集包含最大值和最小值. 析:求子序列,从前往记录一下最大值和最小值的位置,然后从前往后扫一遍,每个位置求一下数目 ...

  6. meteor 命令文件shell 解析

    #!/bin/bash # This is the script that we install somewhere in your $PATH (as "meteor")# wh ...

  7. Timer的schedule和scheduleAtFixedRate方法的区别解析(转)

    在java中,Timer类主要用于定时性.周期性任务 的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下 (1)sched ...

  8. [译]Javascript中的递归函数

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  9. [转]Apple耳机兼容非Mac设置

    转至:https://jingyan.baidu.com/article/6079ad0e99858228ff86db19.html 不兼容情况描述: 听音乐貌似只能听见伴奏的声音 解决方法: 第一种 ...

  10. mac上编译 arm linux gnueabi交叉编译工具链toolchain

    crosstool-ng 编译和安装 交叉编译工具下载: git clone git@github.com:secularbird/crosstool-ng.git   切换到mac编译分支 git ...