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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
connect server_1,127.0.0.1,root,,,$SERVER_MYPORT_1;
connect server_2,127.0.0.1,root,,,$SERVER_MYPORT_2;
connect server_3,127.0.0.1,root,,,$SERVER_MYPORT_3;
connect server_4,127.0.0.1,root,,,$SERVER_MYPORT_4;
connection server_1;
create database a;
use a;
create table t1(a int);
insert into t1 values(1);
create table t2(a int);
insert into t2 values(1);
connection server_2;
create database b;
use b;
create table t1(a int);
insert into t1 values(1);
create table t2(a int);
insert into t2 values(1);
connection server_3;
create database c;
use c;
create table t1(a int);
insert into t1 values(1);
create table t2(a int);
insert into t2 values(1);
connection server_4;
change master 'm1' to master_port=MYPORT_1 , master_host='127.0.0.1', master_user='root', master_use_gtid=no;
change master 'm2' to master_port=MYPORT_2 , master_host='127.0.0.1', master_user='root', master_use_gtid=no;
change master to master_port=MYPORT_3 , master_host='127.0.0.1', master_user='root', master_use_gtid=no;
start all slaves;
set default_master_connection = 'm1';
include/wait_for_slave_to_start.inc
set default_master_connection = 'm2';
include/wait_for_slave_to_start.inc
set default_master_connection = '';
include/wait_for_slave_to_start.inc
select @@global.'m1'.replicate_ignore_table;
@@global.'m1'.replicate_ignore_table
a.t1
select @@global.'m2'.replicate_ignore_table;
@@global.'m2'.replicate_ignore_table
b.t1
select @@global.replicate_ignore_table;
@@global.replicate_ignore_table
c.t1
use a;
#No t1 table
show tables;
Tables_in_a
t2
use b;
#No t1 table
show tables;
Tables_in_b
t2
use c;
#No t1 table
show tables;
Tables_in_c
t2
#TEST
STOP ALL SLAVES;
Warnings:
Note 1938 SLAVE 'm2' stopped
Note 1938 SLAVE '' stopped
Note 1938 SLAVE 'm1' stopped
RESET SLAVE 'm1' ALL ;
Warnings:
Note 4190 RESET SLAVE is implicitly changing the value of 'Using_Gtid' from 'No' to 'Slave_Pos'
RESET SLAVE 'm2' ALL ;
Warnings:
Note 4190 RESET SLAVE is implicitly changing the value of 'Using_Gtid' from 'No' to 'Slave_Pos'
RESET SLAVE ALL ;
Warnings:
Note 4190 RESET SLAVE is implicitly changing the value of 'Using_Gtid' from 'No' to 'Slave_Pos'
drop database a;
drop database b;
drop database c;
change master 'm1' to master_port=MYPORT_1 , master_host='127.0.0.1', master_user='root', master_use_gtid=no;
change master 'm2' to master_port=MYPORT_2 , master_host='127.0.0.1', master_user='root', master_use_gtid=no;
change master to master_port=MYPORT_3 , master_host='127.0.0.1', master_user='root', master_use_gtid=no;
start all slaves;
Warnings:
Note 1937 SLAVE 'm2' started
Note 1937 SLAVE '' started
Note 1937 SLAVE 'm1' started
set default_master_connection = 'm1';
include/wait_for_slave_to_start.inc
set default_master_connection = 'm2';
include/wait_for_slave_to_start.inc
set default_master_connection = '';
include/wait_for_slave_to_start.inc
#Replication Filter should be intact (t1 still not replicated)
select @@global.'m1'.replicate_ignore_table;
@@global.'m1'.replicate_ignore_table
a.t1
select @@global.'m2'.replicate_ignore_table;
@@global.'m2'.replicate_ignore_table
b.t1
select @@global.replicate_ignore_table;
@@global.replicate_ignore_table
c.t1
use a;
#No t1 table
show tables;
Tables_in_a
t2
use b;
#No t1 table
show tables;
Tables_in_b
t2
use c;
#No t1 table
show tables;
Tables_in_c
t2
#CleanUp
connection server_1;
drop database a;
connection server_2;
drop database b;
connection server_3;
drop database c;
connection server_4;
stop all slaves;
SET default_master_connection = "m1";
include/wait_for_slave_to_stop.inc
SET default_master_connection = "m2";
include/wait_for_slave_to_stop.inc
SET default_master_connection = "";
include/wait_for_slave_to_stop.inc
RESET SLAVE ALL;
Warnings:
Note 4190 RESET SLAVE is implicitly changing the value of 'Using_Gtid' from 'No' to 'Slave_Pos'
|