mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
1cd6eb5f94
Change of user interface to be more logical and more in line with expectations to work similar to old-style replication. User can now explicitly choose in CHANGE MASTER whether binlog position is taken into account (master_gtid_pos=current_pos) or not (master_gtid_pos= slave_pos) when slave connects to master. @@gtid_pos is replaced by three separate variables @@gtid_slave_pos (can be set by user, replicated GTIDs only), @@gtid_binlog_pos (read only), and @@gtid_current_pos (a combination of the two, most recent GTID within each domain). mysql.rpl_slave_state is renamed to mysql.gtid_slave_pos to match. This fixes MDEV-4474.
72 lines
1.9 KiB
Text
72 lines
1.9 KiB
Text
--source include/have_innodb.inc
|
|
--source include/have_binlog_format_mixed.inc
|
|
|
|
--let $rpl_topology=1->2,1->3
|
|
--source include/rpl_init.inc
|
|
|
|
connection server_1;
|
|
create table t1 (n int);
|
|
insert into t1 values (1);
|
|
insert into t1 values (2);
|
|
save_master_pos;
|
|
|
|
connection server_3;
|
|
sync_with_master;
|
|
source include/stop_slave.inc;
|
|
source include/wait_for_slave_to_stop.inc;
|
|
|
|
connection server_2;
|
|
sync_with_master;
|
|
source include/stop_slave.inc;
|
|
source include/wait_for_slave_to_stop.inc;
|
|
reset slave all;
|
|
|
|
connection server_1;
|
|
--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2
|
|
eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_2,
|
|
master_user='root', MASTER_USE_GTID=CURRENT_POS;
|
|
source include/start_slave.inc;
|
|
source include/wait_for_slave_to_start.inc;
|
|
|
|
connection server_2;
|
|
flush logs;
|
|
insert into t1 values (3);
|
|
insert into t1 values (4);
|
|
flush logs;
|
|
save_master_pos;
|
|
|
|
connection server_3;
|
|
--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2
|
|
eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_2,
|
|
MASTER_USE_GTID=CURRENT_POS;
|
|
source include/start_slave.inc;
|
|
sync_with_master;
|
|
|
|
select * from t1 order by n;
|
|
source include/show_binary_logs.inc;
|
|
let $binlog_file=LAST;
|
|
source include/show_binlog_events.inc;
|
|
|
|
connection server_1;
|
|
--sync_with_master
|
|
source include/stop_slave.inc;
|
|
source include/wait_for_slave_to_stop.inc;
|
|
reset slave all;
|
|
|
|
connection server_2;
|
|
--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
|
|
eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_1,
|
|
master_user = 'root', MASTER_USE_GTID=CURRENT_POS;
|
|
source include/start_slave.inc;
|
|
|
|
connection server_3;
|
|
source include/stop_slave.inc;
|
|
--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
|
|
eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_1,
|
|
MASTER_USE_GTID=CURRENT_POS;
|
|
source include/start_slave.inc;
|
|
|
|
connection server_1;
|
|
drop table t1;
|
|
|
|
--source include/rpl_end.inc
|