1
############################################################################
2
# Bug #1002688: innobackupex incremental apply-log copies to wrong directory
3
############################################################################
7
run_mysqld --innodb_file_per_table
11
# backup root directory
12
vlog "Starting backup"
14
full_backup_dir=$topdir/full_backup
15
innobackupex --no-timestamp $full_backup_dir
19
run_cmd $MYSQL $MYSQL_ARGS -e "CREATE DATABASE newdb"
20
run_cmd $MYSQL $MYSQL_ARGS -e \
21
"CREATE TABLE actor_copy ENGINE=MyISAM SELECT * FROM sakila.actor" newdb
23
# Saving the checksum of original table
24
checksum_a=`checksum_table newdb actor_copy`
25
test -n "$checksum_a" || die "Failed to checksum table actor_copy"
27
vlog "Making incremental backup"
30
inc_backup_dir=$topdir/incremental_backup
31
innobackupex --incremental --no-timestamp \
32
--incremental-basedir=$full_backup_dir $inc_backup_dir
33
vlog "Incremental backup created in directory $inc_backup_dir"
35
vlog "Preparing backup"
36
innobackupex --apply-log --redo-only $full_backup_dir
37
vlog "Log applied to full backup"
39
innobackupex --apply-log --redo-only --incremental-dir=$inc_backup_dir/ \
41
vlog "Delta applied to full backup"
43
innobackupex --apply-log $full_backup_dir
44
vlog "Data prepared for restore"
46
# Destroying mysql data
48
rm -rf $mysql_datadir/*
52
vlog "Copying files to their original locations"
53
innobackupex --copy-back $full_backup_dir
56
run_mysqld --innodb_file_per_table
58
vlog "Checking checksums"
59
checksum_b=`checksum_table newdb actor_copy`
61
vlog "Old checksum: $checksum_a"
62
vlog "New checksum: $checksum_b"
64
if [ "$checksum_a" != "$checksum_b" ]
66
vlog "Checksums do not match"