include/master-slave.inc
[connection master]
#
# New --dump-slave, --apply-slave-statements functionality
#
connection slave;
connection master;
use test;
connection slave;
/*M!999999\- enable the sandbox mode */ 
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;

-- SET GLOBAL gtid_slave_pos='';
/*M!999999\- enable the sandbox mode */ 
STOP ALL SLAVES;
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;

-- SET GLOBAL gtid_slave_pos='';
START ALL SLAVES;
/*M!999999\- enable the sandbox mode */ 
STOP ALL SLAVES;
CHANGE MASTER '' TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_MYPORT, MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;

-- SET GLOBAL gtid_slave_pos='';
START ALL SLAVES;
start slave;
Warnings:
Note	1254	Slave is already running
/*M!999999\- enable the sandbox mode */ 
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;

start slave;
Warnings:
Note	1254	Slave is already running
*** Test mysqldump --dump-slave GTID/non-gtid functionality.
connection master;
SET gtid_seq_no = 1000;
CREATE TABLE t1 (a INT PRIMARY KEY);
DROP TABLE t1;
connection slave;
connection slave;
CREATE TABLE t2 (a INT PRIMARY KEY);
DROP TABLE t2;

1. --dump-slave=1 --gtid

/*M!999999\- enable the sandbox mode */ 
CHANGE MASTER '' TO MASTER_USE_GTID=slave_pos;
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;

SET GLOBAL gtid_slave_pos='0-1-1001';

1a. --dump-slave=1

/*M!999999\- enable the sandbox mode */ 
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;

-- SET GLOBAL gtid_slave_pos='0-1-1001';

2. --dump-slave=2 --gtid

/*M!999999\- enable the sandbox mode */ 
-- CHANGE MASTER '' TO MASTER_USE_GTID=slave_pos;
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;

-- SET GLOBAL gtid_slave_pos='0-1-1001';

2. --dump-slave=2

/*M!999999\- enable the sandbox mode */ 
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;

-- SET GLOBAL gtid_slave_pos='0-1-1001';
*** Test mysqldump --master-data GTID/non-gtid functionality.

1. --master-data=1 --gtid

/*M!999999\- enable the sandbox mode */ 
CHANGE MASTER TO MASTER_USE_GTID=slave_pos;
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
SET GLOBAL gtid_slave_pos='0-2-1003';

1a. --master-data=1

/*M!999999\- enable the sandbox mode */ 
CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
-- SET GLOBAL gtid_slave_pos='0-2-1003';

2. --master-data=2 --gtid

/*M!999999\- enable the sandbox mode */ 
-- CHANGE MASTER TO MASTER_USE_GTID=slave_pos;
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
-- SET GLOBAL gtid_slave_pos='0-2-1003';

2a. --master-data=2

/*M!999999\- enable the sandbox mode */ 
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
-- SET GLOBAL gtid_slave_pos='0-2-1003';

3. --master-data --single-transaction --gtid

/*M!999999\- enable the sandbox mode */ 
CHANGE MASTER TO MASTER_USE_GTID=slave_pos;
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
SET GLOBAL gtid_slave_pos='0-2-1003';

3a. --master-data --single-transaction

/*M!999999\- enable the sandbox mode */ 
CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
-- SET GLOBAL gtid_slave_pos='0-2-1003';

4. --master-data=2 --dump-slave=2 --single-transaction --gtid (MDEV-4827)

/*M!999999\- enable the sandbox mode */ 
-- MariaDB dump--
-- Host: localhost    Database: test
-- ------------------------------------------------------
-- Server version
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*M!100616 SET @OLD_NOTE_VERBOSITY=@@NOTE_VERBOSITY, NOTE_VERBOSITY=0 */;
-- CHANGE MASTER TO MASTER_USE_GTID=slave_pos;

-- A corresponding to the above master-data CHANGE-MASTER settings to the slave gtid state is printed later in the file.

--
-- Alternately, following is the position of the binary logging from SHOW MASTER STATUS at point of backup.
-- Use this when creating a replica of the primary server where the backup was made.
-- The new server will be connecting to the primary server where the backup was taken.
--

-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;

--
-- The following is the SQL position of the replication taken from SHOW SLAVE STATUS at the time of backup.
-- Use this position when creating a clone of, or replacement server, from where the backup was taken.
-- This new server will connects to the same primary server(s).
--

-- A corresponding to the below dump-slave CHANGE-MASTER settings to the slave gtid state is printed later in the file.

-- Use only the MASTER_USE_GTID=slave_pos or MASTER_LOG_FILE/MASTER_LOG_POS in the statements below.

-- CHANGE MASTER '' TO MASTER_USE_GTID=slave_pos;
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;


-- The deferred gtid setting for slave corresponding to the master-data CHANGE-MASTER follows

-- Preferably use GTID to start replication from GTID position:

-- SET GLOBAL gtid_slave_pos='0-2-1003';

-- The deferred gtid setting for slave corresponding to the dump-slave CHANGE-MASTER follows
-- GTID position to start replication:
-- SET GLOBAL gtid_slave_pos='0-1-1001';
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*M!100616 SET NOTE_VERBOSITY=@OLD_NOTE_VERBOSITY */;

-- Dump completed

4a. --master-data=2 --dump-slave=2 --single-transaction (MDEV-4827)

/*M!999999\- enable the sandbox mode */ 
-- MariaDB dump--
-- Host: localhost    Database: test
-- ------------------------------------------------------
-- Server version
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*M!100616 SET @OLD_NOTE_VERBOSITY=@@NOTE_VERBOSITY, NOTE_VERBOSITY=0 */;

--
-- Alternately, following is the position of the binary logging from SHOW MASTER STATUS at point of backup.
-- Use this when creating a replica of the primary server where the backup was made.
-- The new server will be connecting to the primary server where the backup was taken.
--

-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;

-- A corresponding to the above master-data CHANGE-MASTER settings to the slave gtid state is printed as comments later in the file.

--
-- The following is the SQL position of the replication taken from SHOW SLAVE STATUS at the time of backup.
-- Use this position when creating a clone of, or replacement server, from where the backup was taken.
-- This new server will connects to the same primary server(s).
--

-- A corresponding to the below dump-slave CHANGE-MASTER settings to the slave gtid state is printed later in the file.
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;


-- The deferred gtid setting for slave corresponding to the master-data CHANGE-MASTER follows

-- Preferably use GTID to start replication from GTID position:

-- SET GLOBAL gtid_slave_pos='0-2-1003';

-- The deferred gtid setting for slave corresponding to the dump-slave CHANGE-MASTER follows
-- GTID position to start replication:
-- SET GLOBAL gtid_slave_pos='0-1-1001';
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*M!100616 SET NOTE_VERBOSITY=@OLD_NOTE_VERBOSITY */;

-- Dump completed
connection master;
CREATE TABLE t (
id int
);
insert into t values (1);
insert into t values (2);
drop table t;
connection slave;
include/stop_slave.inc
change master to master_use_gtid=slave_pos;
connection master;
# Ensuring the binlog dump thread is killed on primary...
/*M!999999\- enable the sandbox mode */ 
-- CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000002', MASTER_LOG_POS=BINLOG_START;
-- SET GLOBAL gtid_slave_pos='0-1-1005';
connection slave;
include/start_slave.inc
connection master;
connection slave;
connection master;
FOUND 1 matches in MDEV-33212.sql
include/rpl_end.inc
