mysql 备份软件 Xtrabackup 的 xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info 文件区别
今天在操作 innobackupex 的时候,执行 change master to 的时候发现 xtrabackup_binlog_pos_innodb xtrabackup_binlog_info 两个文件对应的master 的 binary log 位置不一致:
less xtrabackup_binlog_info mysql-bin.002961 70176740
less xtrabackup_binlog_pos_innodb mysql-bin.002961 38716155
后面我就找了下这两个参数究竟是有什么区别
1.官网上的定义:
xtrabackup_binlog_pos_innodb containing the position of the binary log at the moment of backing up relative to InnoDB transactions;
xtrabackup_binlog_info containing the position of the binary log at the moment of backing up;
2.别人的讲述:
这是另外一个人的博客讲述:http://julyclyde.org/?p=403
3.官网上的一种做法:
How to setup a slave for replication in 6 simple steps with Percona XtraBackup
4.个人理解:
- 1)官网上的demo 是 cat /var/lib/mysql/xtrabackup_binlog_info TheMaster-bin.000001 481 ,并且是第一个二进制日志,所以很有可能 xtrabackup_binlog_pos_innodb xtrabackup_binlog_info 记录的是相同的二进制位置。
- 2)我首先根据官网上的操作按照 xtrabackup_binlog_info 记录的 mysql-bin.002961 70176740 来执行 change master to *** master_log_file='mysql-bin.002961',master_log_pos=70176740 *** ,在执行 show slave status \G 的时候发现下面的错误:
- Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin.002961' at 70176740, the last event read from '/home/mysql/node-2/mysql-bin.002961' at 4, the last byte read from '/home/mysql/node-2/mysql-bin.002961' at 4.'
- 3)本人 stop slave ,然后按照 xtrabackup_binlog_pos_innodb 记录的位置 38716155 执行了 下面的命令, start slave 以后,结果显示正常,
- change master to *** master_log_file='mysql-bin.002961',master_log_pos=38716155***
- 我用的版本是Xtrabackup-1.6.7, 从这个里面可以看出,要保证有 InnoDB 的事务也能够正常的从 master 获取binary log ,应该是按照 xtrabackup_binlog_pos_innodb 记录的位置来的,而且通过 innobackupex 的 copy-back 命令执行以后, 数据目录(参数文件里面配置的 datadir 目录)下只有 xtrabackup_binlog_pos_innodb,并没有 xtrabackup_binlog_info 这个文件。
- $ ls
- ibdata1 mysql mysqld.log mysqld-relay-bin.index relay-log.info ***
- ib_logfile0 mysql-bin.000001 mysqld.pid mysqld.sock test ****
- ib_logfile1 mysql-bin.000002 mysqld-relay-bin.000006 mysql-slow.log *** xtrabackup_binlog_pos_innodb
- master.info mysql-bin.index mysqld-relay-bin.000007 performance_schema *** xtrabackup_checkpoints
5.我平时的做法:- 我总是执行到 copy-back 以后,然后 查看 datadir 目录下的 xtrabackup_binlog_pos_innodb binary log position 。然后执行 change master 命令 。今天偶尔的去看备份目录下有两个 xtrabackup_binlog_pos 相关的文件,结果还不一致,最终导致了上面的错误。
- If your backup is from a server with binary logging enabled, xtrabackup will create a file named xtrabackup_binlog_info in the target directory. This file contains the binary log file name and position of the exact point in the binary log to which the prepared backup corresponds.
- You will also see output similar to the following during the prepare stage:
- .....
- This output can also be found in the xtrabackup_binlog_pos_innodb file, but it is only correct when no other than XtraDB or InnoDB are used as storage engines.
- If other storage engines are used (i.e. MyISAM), you should use the xtrabackup_binlog_info file to retrieve the position.
这是 Xtrabackup 2.1 上面的解释 (1.6 上面的也是类似的), 这个意思和我理解的正好相反,他们建议采用的是 xtrabackup_binlog_info 上面记录的二进制日志位置,可是事实上我每次都采用的是 xtrabackup_binlog_pos_innodb (大部分情况下两个文件记录的位置是相同的),并且并没有出错过。
个人感觉采用 xtrabackup_binlog_pos_innodb 靠谱,不知道你们是采用哪个位置?如果有什么疑问,可以提出来大家一起探讨。
====更新 2015-5-6 13:17:54 ====
最近我用 percona-xtrabackup-2.0.3 备份的时候出现了这样子情况,
$ less xtrabackup_binlog_pos_innodb
/home/dba/mysqlnode/nodedata3/mysql-bin.000002 0
$ cat xtrabackup_binlog_info
mysql-bin.000002 335293969
发现 xtrabackup_binlog_info 比较正确,真的是感觉版本问题。。我还是按照官网遵从 xtrabackup_binlog_info 指定的算了,建议大家采用高版本的备份软件备份 MySQL 5.5 及以上的吧。
mysql 备份软件 Xtrabackup 的 xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info 文件区别的更多相关文章
- [转]Xtrabackup 的 xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info 文件区别
[转自] http://julyclyde.org/?p=403 在操作 innobackupex 的时候,执行 change master to 的时候发现 xtrabackup_binlog_po ...
- MySQL备份恢复之Xtrabackup
Preface Today,I'm gonna use the Xtrabackup tool to demonstrate the procedure of backing up MyS ...
- MySQL备份恢复工具Xtrabackup
参考文档https://www.cnblogs.com/youkanyouxiao/p/8335173.html Xtrabackup介绍 Xtrabackup是由percona开源的免费数据库热备 ...
- Mysql备份工具Xtrabackup
Xtrabackup是一个开源的免费的热备工具,在Xtrabackup包中主要有Xtrabackup和innobackupex两个工具.其中Xtrabackup只能备份InnoDB和XtraDB两种引 ...
- MySQL备份利器-xtrabackup的介绍和原理(附脑图)
标签(linux): mysql-xtrabackup 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 xtrabackup是Percona公司针对mysql数据 ...
- MySQL备份之XtraBackup工具使用
数据库的完整备份 [root@vhost1 ~]# innobackupex --defaults-file=/mysqldata/3306/my.cnf --user=root --passw ...
- (4.2)mysql备份还原——备份概述
1.什么情况下会用到备份呢? [1.1]灾难恢复 [1.2]单位审计:数据库在过去某一个点是什么样的 [1.3]跨机房灾备:异地备份 [1.4]认为的DDL或者DML语句,导致主从库的数据消失 [1. ...
- MariaDB/MySQL备份和恢复(三):xtrabackup用法和原理详述
本文目录: 1.安装xtrabackup 2.备份锁 3.xtrabackup备份原理说明 3.1 备份过程(backup阶段) 3.2 准备过程(preparing阶段) 3.3 恢复过程(copy ...
- MySQL数据物理备份之xtrabackup
percona-xtrabackup 它是开源免费的支持MySQL 数据库热备份的软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份.它不暂停服务创建Innodb热备份: 为mysql ...
随机推荐
- 利用Jurassic在.net下运行js函数
static void Main(string[] args) { var eng = new Jurassic.ScriptEngine(); eng.Evaluate("function ...
- linux driver编译环境搭建和命令
首先将ubuntu14.04的内核升级到内核3.18.12. 其次,Ubuntu14.04上驱动编译命令 $ sudo make -C ~/linux-3.18.12/ M=`pwd` modules ...
- Linux 安装node.js ---- 源码编译的方式
一 : 普通用户: 安装前准备环境: 1.检查Linux 版本 命令: cat /etc/redhat-release 2.检查 gcc.gcc-c++ 是否安装过 命令: rpm -q gcc rp ...
- 记录视频“ Why I build Docker"
Why we built Docker ? IT界中云计算革命正在如火如荼的进行着,docker 正在引领着这个潮流. 那么docker 是怎么引进来的呢? Docker的CTO在下面视频里如此清晰的 ...
- windows 下ssh 客户端
今天用 xshell 和 bitvise ssh 在 windows 登录SSH ,发现 vi 一些中文内容的文件会出现乱码,配置无效,在网上找到一款不会中文乱码的SSH客户端 MobaXterm , ...
- jsp文件引入js文件的方式(项目部署于web容器中)
在页面中引入javascript文件的方式是多种多样的,本文介绍两种. 通过<script>标签插入js文件 通过这种方式引入的js,写对js文件和jsp文件的路径很重要.下面给出一个项目 ...
- C++面试中string类的一种正确简明的写法
本文首发于酷壳网 http://coolshell.cn/articles/10478.html 先说说程序员(应届生)面试的一般过程,一轮面试(面对一到两个面试官)一般是四.五十分钟,面试官会问两三 ...
- poj3009
#include <stdio.h> int H,L; int qx,qy,zx,zy; int map[21][21]; int ax[4]={-1,0,1,0}; int ay[4]= ...
- C#之方法的重载与递归
(1). 方法的重载:方法的名称相同,但参数不同. 1.如果参数的个数相同,那么参数的类型不能相同. 2.如果参数的类型相同,那么参数的个数不能相同. (2).方法的递归:方法自己调用自己.用于找出一 ...
- Jmeter在linux上运行(命令行运行Jmeter)
1.下载安装 http://jmeter.apache.org/download_jmeter.cgi Jmeter官网下载 linux下应使用tgz包,下载 Binaries apache-jme ...