备份原理

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. Java C++ Socket通讯

    import java.net.*; import javax.swing.plaf.SliderUI; /** * 与c语言通信(java做client,c/c++做server,传送一个结构) * ...

  2. ROS Learning-025 (提高篇-003 A Mobile Base-01) 控制移动平台

    ROS 提高篇 A Mobile Base-01 - 控制移动平台 - 基本知识 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 ...

  3. hihocoder1513 小Hi的烦恼

    传送门 分析 论bitset的妙用......我们利用桶排将输入的数据排序,之后分别考虑5维,a[i][j]表示考虑第i个人第j维的情况下于其它人的大小关系.最后将5维的信息并起来求1的个数即可 代码 ...

  4. Luogu 4867 Gty的二逼妹子序列

    BZOJ3809,是权限题. 我永远喜欢莫队. 先莫队一下移下左右指针,然后用一个数据结构维护一下区间$[a, b]$中的颜色的值,跟着指针移动一起修改修改,每一次$query$的时候就相当于查询一下 ...

  5. 9.Delegate类

    Concepts      不像MVC模式,Model/View模式并没有单独用来处理事件和用户交互的组件(controller).通常,视图负责向用户呈现模型中的数据,并处理用户的输入.有时,为了让 ...

  6. python 趣味强制请吃饭

    # -*- coding: utf-8 -*- import easygui who = easygui.buttonbox("你想请谁吃饭 ?", "luckly qu ...

  7. Dev Envirenment - VS Code && C++ && MinGW

    1. 安装编译器 安装 MinGW-W64 添加系统环境变量 注意: 1)安装 MinGW 的时候要选择正确的 CPU 处理器类型 2)添加系统变量后需要重启电脑系统 2. 安装本文编辑器 安装 VS ...

  8. 完整读写txt 并提取{}里的内容

    using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...

  9. ASP.NET MVC 视图层-生成链接相关(Html.ActionLink,Url.Action)

    1. @Html.ActionLink()  参考 也是使用在chtml模板中,返回参数中指定controller.指定action的所生成的超链接标签<a>标签html文本.如果没有指定 ...

  10. spring分布式事务学习笔记(2)

    此文已由作者夏昀授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Model类如下:package com.xy.model 1 package com.xy.model;   ...