cannot extract innobackupex created tar files even with -i
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona XtraBackup moved to https://jira.percona.com/projects/PXB |
Fix Released
|
High
|
Aleksandr Kuzminsky |
Bug Description
I'm trying to create a backup on a compressed tar file with innobackupex. I'm using the following commandline:
[mysql-backup]$ innobackupex-1.5.1 --user XXXX --password YYYY --slave-info --stream=tar ./ | gzip - > backup.tar.gz
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy.
All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
IMPORTANT: Please check that the backup run completes successfully.
At the end of a successful backup run innobackupex-1.5.1
prints "completed OK!".
innobackupex-1.5.1: Using mysql Ver 14.14 Distrib 5.1.47, for unknown-linux-gnu (x86_64) using readline 5.1
innobackupex-1.5.1: Using mysql server version Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
innobackupex-1.5.1: Created backup directory /mysql-backup
100720 14:36:32 innobackupex-1.5.1: Starting mysql with options: --password=YYYY --user=XXXX --unbuffered --
100720 14:36:32 innobackupex-1.5.1: Connected to database with mysql child process (pid=10490)
100720 14:36:40 innobackupex-1.5.1: Connection to database server closed
100720 14:36:40 innobackupex-1.5.1: Starting mysql with options: --password=YYYY --user=XXXX --unbuffered --
100720 14:36:40 innobackupex-1.5.1: Connected to database with mysql child process (pid=10619)
100720 14:36:44 innobackupex-1.5.1: Connection to database server closed
100720 14:36:44 innobackupex-1.5.1: Starting ibbackup with command: xtrabackup --backup --suspend-at-end --log-stream --target-dir=./
innobackupex-1.5.1: Waiting for ibbackup (pid=10671) to suspend
innobackupex-1.5.1: Suspend file '/var/lib/
xtrabackup: suspend-at-end is enabled.
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /var/lib/mysql
xtrabackup: Target instance is assumed as followings.
xtrabackup: innodb_
xtrabackup: innodb_
xtrabackup: innodb_
xtrabackup: innodb_
xtrabackup: innodb_
xtrabackup: Stream mode.
>> log scanned up to (87314155026)
100720 14:36:46 innobackupex-1.5.1: Continuing after ibbackup has suspended
innobackupex-1.5.1: Starting to backup InnoDB tables and indexes
innobackupex-1.5.1: from original InnoDB data directory '/var/lib/mysql/'
innobackupex-1.5.1: Backing up as tar stream 'ibdata1'
>> log scanned up to (87314155026)
innobackupex-1.5.1: Backing up file '/var/lib/
>> log scanned up to (87314155026)
>> log scanned up to (87314155026)
>> log scanned up to (87314155026)
>> log scanned up to (87314155026)
>> log scanned up to (87314155026)
....
>> log scanned up to (87314155920)
>> log scanned up to (87314155920)
>> log scanned up to (87314155920)
>> log scanned up to (87314155920)
innobackupex-1.5.1: Backing up file '/var/lib/
innobackupex-1.5.1: Backing up file '/var/lib/
innobackupex-1.5.1: Backing up file '/var/lib/
>> log scanned up to (87314155920)
>> log scanned up to (87314155920)
>> log scanned up to (87314155920)
....
log scanned up to (87318487031)
>> log scanned up to (87318487031)
>> log scanned up to (87318487031)
innobackupex-1.5.1: Backing up file '/var/lib/
>> log scanned up to (87318487031)
innobackupex-1.5.1: Backing up file '/var/lib/
100720 15:09:47 innobackupex-1.5.1: Starting mysql with options: --password=
100720 15:09:47 innobackupex-1.5.1: Connected to database with mysql child process (pid=11342)
>> log scanned up to (87318487031)
100720 15:09:51 innobackupex-1.5.1: Starting to lock all tables...
>> log scanned up to (87318487031)
>> log scanned up to (87318487031)
100720 15:10:03 innobackupex-1.5.1: All tables locked and flushed to disk
100720 15:10:03 innobackupex-1.5.1: Starting to backup .frm, .MRG, .MYD, .MYI,
innobackupex-1.5.1: .TRG, .TRN, .ARM, .ARZ and .opt files in
innobackupex-1.5.1: subdirectories of '/var/lib/mysql'
innobackupex-1.5.1: Backing up file '/var/lib/
innobackupex-1.5.1: Backing up file '/var/lib/
innobackupex-1.5.1: Backing up file '/var/lib/
innobackupex-1.5.1: Backing up file '/var/lib/
innobackupex-1.5.1: Backing up files '/var/lib/
innobackupex-1.5.1: Backing up file '/var/lib/
innobackupex-1.5.1: Backing up file '/var/lib/
innobackupex-1.5.1: Backing up file '/var/lib/
innobackupex-1.5.1: Backing up file '/var/lib/
100720 15:10:04 innobackupex-1.5.1: Finished backing up .frm, .MRG, .MYD, .MYI, .TRG, .TRN, .ARM, .ARZ and .opt files
innobackupex-1.5.1: Resuming ibbackup
xtrabackup: The latest check point (for incremental): '87318487031'
>> log scanned up to (87318487031)
xtrabackup: Transaction log of lsn (87314155026) to (87318487031) was copied.
100720 15:10:06 innobackupex-1.5.1: All tables unlocked
100720 15:10:06 innobackupex-1.5.1: Connection to database server closed
innobackupex-1.5.1: Backup created in directory '/mysql-backup'
innobackupex-1.5.1: MySQL binlog position: filename '', position
innobackupex-1.5.1: MySQL slave binlog position: master host 'dooku', filename 'binlog.002407', position 217768049
innobackupex-1.5.1: You must use -i (--ignore-zeros) option for extraction of the tar stream.
100720 15:10:06 innobackupex-1.5.1: completed OK!
So, everything looks righ. But when I try to uncompress the resulting tar file, a lot of errors appear. Here is the tar i do to check the file (using t option):
mysql-backup]$ tar itvfz backup.tar.gz
-rw-r--r-- root/root 294 2010-07-20 14:36:32 backup-my.cnf
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: Archive contains `"\000 \017 Q\034\223\332\023' where numeric off_t value expected
tar: Archive contains `\023\000\
tar: Archive contains `\223\340\
tar: Archive contains `V\000\
tar: Archive contains `\00047' where numeric uid_t value expected
tar: Archive contains `\000\004\
tar: Archive contains `\00047' where numeric uid_t value expected
tar: Archive contains `\000\004\
-rwsrwsrwt 4294967295/
tar: Skipping to next header
tar: Archive contains `\b\200\
tar: Archive contains `\004f.
tar: Archive contains `\232Y$
tar: Archive contains `\000\005\
tar: Archive contains `>\034\
tar: Archive contains `n%%\000\
tar: Archive contains `>\034\
tar: Archive contains `n%%\000\
drwsrwsrwt 4294967295/
tar: Skipping to next header
tar: Archive contains `D\'\361(=\034\214' where numeric mode_t value expected
tar: Archive contains `P$E(\027(
tar: Archive contains `\0005\001\020' where numeric major_t value expected
tar: Archive contains `\000\005s\
tar: Archive contains `\020\000\
tar: Archive contains `\020\000\
?rwsrwsrwt 4294967295/
....
If I try to extract it, lots of files with unprintable names are created.
Without the -i option, the tar do not complains, but stops after the first file. (I presume that's the purpose of the -i option, skip the 0 as EOFs).
Is my tar executable incompatible? I'm Using a CentOS 5.4 wich have a tar (GNU tar) version 1.15.1
.
Changed in percona-xtrabackup: | |
status: | Triaged → Fix Released |
Changed in percona-xtrabackup: | |
status: | Fix Released → Confirmed |
status: | Confirmed → Fix Committed |
status: | Fix Committed → Fix Released |
Alexandr,
Please check if it was fixed in latest commits.
Also please checks to test suite.