1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
########################################################################
# Tests for tar4ibd + symlinks (bug #387587)
########################################################################
. inc/common.sh
init
run_mysqld --innodb_file_per_table
load_dbase_schema sakila
load_dbase_data sakila
# Copy some .ibd files to a temporary location and replace them with symlinks
mv $topdir/mysql/sakila/actor.ibd $topdir
ln -s $topdir/actor.ibd $topdir/mysql/sakila
mv $topdir/mysql/sakila/customer.ibd $topdir
ln -s $topdir/customer.ibd $topdir/customer_link.ibd
ln -s $topdir/customer_link.ibd $topdir/mysql/sakila/customer.ibd
# Take backup
mkdir -p $topdir/backup
innobackupex --stream=tar $topdir/backup > $topdir/backup/out.tar
stop_mysqld
# Remove datadir
rm -r $mysql_datadir
# Remove the temporary files referenced by symlinks
rm -f $topdir/actor.ibd
rm -f $topdir/customer.ibd
rm -f $topdir/customer_link.ibd
# Restore sakila
vlog "Applying log"
backup_dir=$topdir/backup
cd $backup_dir
run_cmd $TAR -ixvf out.tar
cd - >/dev/null 2>&1
innobackupex --apply-log $backup_dir
vlog "Restoring MySQL datadir"
mkdir -p $mysql_datadir
innobackupex --copy-back $backup_dir
run_mysqld
# Check sakila
run_cmd ${MYSQL} ${MYSQL_ARGS} -e "SELECT COUNT(*) FROM actor" sakila
run_cmd ${MYSQL} ${MYSQL_ARGS} -e "SELECT COUNT(*) FROM customer" sakila
|