summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/mariabackup/partial_exclude.test
blob: 6a1ae13b51287540c7caa55b79b75bbbe6f0dea3 (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#--source include/innodb_page_size.inc

# Test --databases-exclude and --tables-exclude feature of xtrabackup 2.3.8
select @@ignore_db_dirs;

let $MYSQLD_DATADIR= `select @@datadir`;

mkdir $MYSQLD_DATADIR/db3;
mkdir $MYSQLD_DATADIR/db4;
mkdir $MYSQLD_DATADIR/db5;

CREATE TABLE t1(i INT) ENGINE INNODB;
INSERT INTO t1 VALUES(1);
CREATE TABLE t2(i int) ENGINE INNODB;

CREATE DATABASE db2;
USE db2;
CREATE TABLE t1(i INT) ENGINE INNODB;

USE test;

BEGIN;
INSERT INTO db2.t1 VALUES(20);
INSERT INTO test.t1 VALUES(20);
INSERT INTO test.t2 VALUES(20);

echo # xtrabackup backup;

let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf  --backup "--tables-exclude=test.*2" "--databases-exclude=db2" --target-dir=$targetdir;
--enable_result_log

COMMIT;

# check that only t1 table is in backup (t2 is excluded)
list_files $targetdir/test *.new;
list_files $targetdir/test *.ibd;
# check that db2 database is not in the backup (excluded)
--error 1
list_files $targetdir/db2 *.ibd;
# check that db3 database is not in the backup (excluded)
--error 1
list_files $targetdir/db3 *.ibd;
# check that db4 database is not in the backup (excluded)
--error 1
list_files $targetdir/db4 *.ibd;
# check that db5 database is in the backup
list_files $targetdir/db5 *.ibd;

DROP TABLE t1;
DROP TABLE t2;
DROP DATABASE db2;
rmdir $MYSQLD_DATADIR/db3;
rmdir $MYSQLD_DATADIR/db4;
rmdir $MYSQLD_DATADIR/db5;

--let $backup_log=$MYSQLTEST_VARDIR/tmp/backup.log
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --export --prepare --target-dir="$targetdir" > $backup_log;
--enable_result_log

--let SEARCH_FILE=$backup_log
--let SEARCH_PATTERN=Operating system error number
--source include/search_pattern_in_file.inc
--let SEARCH_PATTERN=Could not find a valid tablespace file for
--source include/search_pattern_in_file.inc
--remove_file $backup_log

rmdir $targetdir;