mirror of
https://github.com/MariaDB/server.git
synced 2025-05-07 14:29:53 +02:00
139 lines
3.9 KiB
Text
139 lines
3.9 KiB
Text
connection node_2;
|
|
connection node_1;
|
|
connect replica1, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
|
connect primary2, 127.0.0.1, root, , test, $NODE_MYPORT_3;
|
|
connect primary1, 127.0.0.1, root, , test, $NODE_MYPORT_4;
|
|
connect replica2, 127.0.0.1, root, , test, $NODE_MYPORT_4;
|
|
connection primary1;
|
|
# Primary1 node creating user for replication
|
|
create user repl@'%' identified by 'repl';
|
|
grant all on *.* to repl@'%';
|
|
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
|
|
connection replica1;
|
|
connection node_2;
|
|
connection primary2;
|
|
connection primary1;
|
|
connection replica1;
|
|
# Galera replica changing master to primary1
|
|
START SLAVE;
|
|
connection primary2;
|
|
# Primary2 creating user for replication
|
|
create user repl2@'%' identified by 'repl2';
|
|
grant all on *.* to repl2@'%';
|
|
connection replica2;
|
|
# replica2 changing master to primary2
|
|
START SLAVE;
|
|
connection primary1;
|
|
# Primary1: Creating table and populating it with data
|
|
CREATE TABLE t1 (id bigint auto_increment primary key, msg varchar(100)) engine=innodb;
|
|
# Intentionally generate 1k GTID-events
|
|
SELECT COUNT(*) AS EXPECT_1000 FROM t1;
|
|
EXPECT_1000
|
|
1000
|
|
connection replica1;
|
|
# Waiting for data to replicate to replica
|
|
SELECT COUNT(*) AS EXPECT_1000 FROM t1;
|
|
EXPECT_1000
|
|
1000
|
|
# Writing more data to table
|
|
# Intentionally generate 1k GTID-events
|
|
SELECT COUNT(*) AS EXPECT_2000 FROM t1;
|
|
EXPECT_2000
|
|
2000
|
|
connection node_2;
|
|
# Waiting for data to replicate to Galera node_2
|
|
SELECT COUNT(*) AS EXPECT_2000 FROM t1;
|
|
EXPECT_2000
|
|
2000
|
|
# Writing more data to table
|
|
# Intentionally generate 1k GTID-events
|
|
SELECT COUNT(*) AS EXPECT_3000 FROM t1;
|
|
EXPECT_3000
|
|
3000
|
|
connection primary2;
|
|
# Waiting for data to replicate to primary2
|
|
SELECT COUNT(*) AS EXPECT_3000 FROM t1;
|
|
EXPECT_3000
|
|
3000
|
|
# Writing more data to table
|
|
# Intentionally generate 1k GTID-events
|
|
SELECT COUNT(*) AS EXPECT_4000 FROM t1;
|
|
EXPECT_4000
|
|
4000
|
|
connection primary1;
|
|
# Waiting for data to replicate to primary1
|
|
SELECT COUNT(*) AS EXPECT_4000 FROM t1;
|
|
EXPECT_4000
|
|
4000
|
|
SELECT COUNT(*) > 0 AS EXPECT_1 FROM mysql.gtid_slave_pos;
|
|
EXPECT_1
|
|
1
|
|
SELECT COUNT(*) < 1000 AS EXPECT_1 FROM mysql.gtid_slave_pos;
|
|
EXPECT_1
|
|
1
|
|
SELECT @@gtid_slave_pos,@@gtid_binlog_pos,@@gtid_current_pos;
|
|
@@gtid_slave_pos @@gtid_binlog_pos @@gtid_current_pos
|
|
0-4-1004,16-15-3002 0-4-1004,16-15-3002 0-4-1004,16-15-3002
|
|
connection replica1;
|
|
# Waiting for data to replicate to replica
|
|
SELECT COUNT(*) AS EXPECT_4000 FROM t1;
|
|
EXPECT_4000
|
|
4000
|
|
SELECT COUNT(*) > 0 AS EXPECT_1 FROM mysql.gtid_slave_pos;
|
|
EXPECT_1
|
|
1
|
|
SELECT COUNT(*) < 1000 AS EXPECT_1 FROM mysql.gtid_slave_pos;
|
|
EXPECT_1
|
|
1
|
|
SELECT @@gtid_slave_pos,@@gtid_binlog_pos,@@gtid_current_pos;
|
|
@@gtid_slave_pos @@gtid_binlog_pos @@gtid_current_pos
|
|
0-4-1004,16-15-3002 0-4-1004,16-15-3002 0-4-1004,16-15-3002
|
|
connection node_2;
|
|
# Waiting for data to replicate to node_2
|
|
SELECT COUNT(*) AS EXPECT_4000 FROM t1;
|
|
EXPECT_4000
|
|
4000
|
|
SELECT COUNT(*) > 0 AS EXPECT_1 FROM mysql.gtid_slave_pos;
|
|
EXPECT_1
|
|
1
|
|
SELECT COUNT(*) < 1000 AS EXPECT_1 FROM mysql.gtid_slave_pos;
|
|
EXPECT_1
|
|
1
|
|
SELECT @@gtid_slave_pos,@@gtid_binlog_pos,@@gtid_current_pos;
|
|
@@gtid_slave_pos @@gtid_binlog_pos @@gtid_current_pos
|
|
0-4-1004 0-4-1004,16-15-3002 0-4-1004,16-15-3002
|
|
connection primary2;
|
|
# Waiting for data to replicate to node_3
|
|
SELECT COUNT(*) AS EXPECT_4000 FROM t1;
|
|
EXPECT_4000
|
|
4000
|
|
SELECT COUNT(*) > 0 AS EXPECT_1 FROM mysql.gtid_slave_pos;
|
|
EXPECT_1
|
|
1
|
|
SELECT COUNT(*) < 1000 AS EXPECT_1 FROM mysql.gtid_slave_pos;
|
|
EXPECT_1
|
|
1
|
|
SELECT @@gtid_slave_pos,@@gtid_binlog_pos,@@gtid_current_pos;
|
|
@@gtid_slave_pos @@gtid_binlog_pos @@gtid_current_pos
|
|
0-4-1004 0-4-1004,16-15-3002 0-4-1004,16-15-3002
|
|
connection primary1;
|
|
drop table t1;
|
|
# Wait until drop table is replicated on Galera
|
|
connection replica1;
|
|
connection node_2;
|
|
connection primary2;
|
|
connection replica1;
|
|
STOP SLAVE;
|
|
RESET SLAVE ALL;
|
|
connection replica2;
|
|
STOP SLAVE;
|
|
RESET SLAVE ALL;
|
|
RESET MASTER;
|
|
connection node_1;
|
|
disconnect primary1;
|
|
disconnect replica1;
|
|
disconnect primary2;
|
|
disconnect replica2;
|
|
disconnect node_2;
|
|
disconnect node_1;
|
|
# End of test
|