summaryrefslogtreecommitdiff
path: root/mysql-test/main/rpl_mysqldump_slave.test
blob: 345bdb825359690e7f766d901db99104dbb9e588 (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
--source include/master-slave.inc

--echo #
--echo # New --dump-slave, --apply-slave-statements functionality
--echo #

# There is a gap between when START SLAVE returns and when MASTER_LOG_FILE and
# MASTER_LOG_POS are set.  Ensure that we don't call SHOW SLAVE STATUS during
# that gap.
--sync_slave_with_master

connection master;
use test;

connection slave;

# Execute mysqldump with --dump-slave
--replace_regex /MASTER_LOG_POS=[0-9]+/MASTER_LOG_POS=BINLOG_START/
--exec $MYSQL_DUMP_SLAVE --compact --dump-slave test

# Execute mysqldump with --dump-slave and --apply-slave-statements 
--replace_regex /MASTER_LOG_POS=[0-9]+/MASTER_LOG_POS=BINLOG_START/
--exec $MYSQL_DUMP_SLAVE --compact --dump-slave --apply-slave-statements test

--replace_regex /MASTER_LOG_POS=[0-9]+/MASTER_LOG_POS=BINLOG_START/
--replace_result $MASTER_MYPORT MASTER_MYPORT
# Execute mysqldump with --dump-slave ,--apply-slave-statements and --include-master-host-port
--exec $MYSQL_DUMP_SLAVE --compact --dump-slave --apply-slave-statements --include-master-host-port test

#
# MDEV-5624 mysqldump --dump-slave option does not restart the replication if the dump has failed
#
start slave;
--replace_regex /MASTER_LOG_POS=[0-9]+/MASTER_LOG_POS=BINLOG_START/
--error 2
--exec $MYSQL_DUMP_SLAVE --compact --dump-slave no_such_db
start slave;


--echo *** Test mysqldump --dump-slave GTID functionality.

--connection master
SET gtid_seq_no = 1000;
CREATE TABLE t1 (a INT PRIMARY KEY);
DROP TABLE t1;
--sync_slave_with_master

--connection slave
# Inject a local transaction on the slave to check that this is not considered
# for --dump-slave.
CREATE TABLE t2 (a INT PRIMARY KEY);
DROP TABLE t2;

--echo
--echo 1. --dump-slave=1
--echo
--replace_regex /MASTER_LOG_POS=[0-9]+/MASTER_LOG_POS=BINLOG_START/
--exec $MYSQL_DUMP_SLAVE --compact --dump-slave=1 --gtid test

--echo
--echo 2. --dump-slave=2
--echo
--replace_regex /MASTER_LOG_POS=[0-9]+/MASTER_LOG_POS=BINLOG_START/
--exec $MYSQL_DUMP_SLAVE --compact --dump-slave=2 --gtid test


--echo *** Test mysqldump --master-data GTID functionality.
--echo
--echo 1. --master-data=1
--echo
--replace_regex /MASTER_LOG_POS=[0-9]+/MASTER_LOG_POS=BINLOG_START/
--exec $MYSQL_DUMP_SLAVE --compact --master-data=1 --gtid test

--echo
--echo 2. --master-data=2
--echo
--replace_regex /MASTER_LOG_POS=[0-9]+/MASTER_LOG_POS=BINLOG_START/
--exec $MYSQL_DUMP_SLAVE --compact --master-data=2 --gtid test

--echo
--echo 3. --master-data --single-transaction
--echo
--replace_regex /MASTER_LOG_POS=[0-9]+/MASTER_LOG_POS=BINLOG_START/
--exec $MYSQL_DUMP_SLAVE --compact --master-data --single-transaction --gtid test



--source include/rpl_end.inc