mirror of
https://github.com/MariaDB/server.git
synced 2025-05-09 07:19:54 +02:00
170 lines
4.6 KiB
Text
170 lines
4.6 KiB
Text
connection node_2;
|
|
connection node_1;
|
|
connect replica, 127.0.0.1, root, , test, $NODE_MYPORT_2;
|
|
connect primary, 127.0.0.1, root, , test, $NODE_MYPORT_3;
|
|
create user repl@'%' identified by 'repl';
|
|
grant all on *.* to repl@'%';
|
|
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
|
|
connection node_1;
|
|
connection replica;
|
|
connection primary;
|
|
connection replica;
|
|
START SLAVE;
|
|
connection primary;
|
|
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 replica;
|
|
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-3-1004 0-3-1004 0-3-1004
|
|
SELECT COUNT(*) AS EXPECT_1000 FROM t1;
|
|
EXPECT_1000
|
|
1000
|
|
connection node_1;
|
|
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-3-1004 0-3-1004 0-3-1004
|
|
SELECT COUNT(*) AS EXPECT_1000 FROM t1;
|
|
EXPECT_1000
|
|
1000
|
|
connection replica;
|
|
# Verify that graceful shutdown succeeds in replica.
|
|
# Force SST
|
|
connection node_1;
|
|
# Waiting until replica is not part of cluster anymore
|
|
connection replica;
|
|
# Start replica again
|
|
# Wait until replica is back on cluster
|
|
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-3-1004 0-3-1004 0-3-1004
|
|
SELECT COUNT(*) AS EXPECT_1000 FROM t1;
|
|
EXPECT_1000
|
|
1000
|
|
connection node_1;
|
|
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-3-1004 0-3-1004 0-3-1004
|
|
SELECT COUNT(*) AS EXPECT_1000 FROM t1;
|
|
EXPECT_1000
|
|
1000
|
|
connection primary;
|
|
SELECT COUNT(*) AS EXPECT_1000 FROM t1;
|
|
EXPECT_1000
|
|
1000
|
|
drop table t1;
|
|
connection replica;
|
|
connection node_1;
|
|
connection primary;
|
|
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 replica;
|
|
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-3-2006 0-3-2006 0-3-2006
|
|
SELECT COUNT(*) AS EXPECT_1000 FROM t1;
|
|
EXPECT_1000
|
|
1000
|
|
connection node_1;
|
|
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-3-2006 0-3-2006 0-3-2006
|
|
connection replica;
|
|
# Verify that graceful shutdown succeeds in replica.
|
|
# Force SST
|
|
connection node_1;
|
|
# Waiting until replica is not part of cluster anymore
|
|
# Add writes to primary
|
|
connection primary;
|
|
# Intentionally generate 1k GTID-events
|
|
SELECT COUNT(*) AS EXPECT_2000 FROM t1;
|
|
EXPECT_2000
|
|
2000
|
|
connection replica;
|
|
# Start replica again
|
|
# Wait until replica is back on cluster
|
|
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-3-3006 0-3-3006 0-3-3006
|
|
SELECT COUNT(*) AS EXPECT_2000 FROM t1;
|
|
EXPECT_2000
|
|
2000
|
|
connection node_1;
|
|
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-3-3006 0-3-3006 0-3-3006
|
|
SELECT COUNT(*) AS EXPECT_2000 FROM t1;
|
|
EXPECT_2000
|
|
2000
|
|
connection primary;
|
|
SELECT COUNT(*) AS EXPECT_2000 FROM t1;
|
|
EXPECT_2000
|
|
2000
|
|
drop table t1;
|
|
connection replica;
|
|
connection node_1;
|
|
connection replica;
|
|
STOP SLAVE;
|
|
RESET SLAVE ALL;
|
|
connection primary;
|
|
RESET MASTER;
|
|
connection node_1;
|
|
disconnect primary;
|
|
disconnect replica;
|
|
disconnect node_2;
|
|
disconnect node_1;
|
|
# End of test
|