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 1 k 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 1 k 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 1 k 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;
include/kill_binlog_dump_threads.inc
RESET MASTER;
connection node_1;
disconnect primary;
disconnect replica;
disconnect node_2;
disconnect node_1;
# End of test
Messung V0.5 in Prozent C=90 H=93 G=91
¤ Dauer der Verarbeitung: 0.8 Sekunden
(vorverarbeitet am 2026-10-11)
¤
*© Formatika GbR, Deutschland