1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
include/group_replication.inc
Warnings:
Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
Note #### Storing MySQL user name or password information in the connection metadata repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START REPLICA; see the 'START REPLICA Syntax' in the MySQL Manual for more information.
[connection server1]
############################################################
# 1. Install clone plugin on server1.
[connection server1]
INSTALL PLUGIN clone SONAME 'CLONE_PLUGIN';
############################################################
# 2. Bootstrap server1 and add some data
include/start_and_bootstrap_group_replication.inc
CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
############################################################
# 3. Install the Clone plugin on server2
[connection server2]
INSTALL PLUGIN clone SONAME 'CLONE_PLUGIN';
############################################################
# 4. Remove the recovery credentials
# On a empty server2 start group replication
# Clone and distributed recovery shall fail
RESET SLAVE ALL FOR CHANNEL 'group_replication_recovery';
include/assert.inc ['The group replication recovery channel is gone']
SET GLOBAL group_replication_recovery_retry_count= 1;
SET GLOBAL group_replication_clone_threshold= 1;
include/start_group_replication.inc
include/stop_group_replication.inc
############################################################
# 5. Cleanup
[connection server1]
DROP TABLE t1;
UNINSTALL PLUGIN clone;
[connection server2]
UNINSTALL PLUGIN clone;
SET GLOBAL group_replication_clone_threshold= 9223372036854775807;
SET GLOBAL group_replication_recovery_retry_count= 10;
set session sql_log_bin=0;
call mtr.add_suppression("This member will start distributed recovery using clone. It is due to the number of missing transactions being higher than the configured threshold of*");
call mtr.add_suppression("There was an issue when configuring the remote cloning process: Could not extract the access credentials for the clone process");
call mtr.add_suppression("Due to some issue on the previous step distributed recovery is now executing: Incremental Recovery.");
call mtr.add_suppression(".*Invalid .* username when attempting to connect to the source server.*");
call mtr.add_suppression("There was an error when connecting to the donor. Please check that group_replication_recovery channel*");
call mtr.add_suppression("For details please check performance_schema.replication_connection_status table and error log messages of*");
call mtr.add_suppression("Maximum number of retries when trying to connect to a donor reached. Aborting group replication incremental recovery.");
call mtr.add_suppression("Skipping leave operation: concurrent attempt to leave the group is on-going.");
call mtr.add_suppression("Fatal error during the incremental recovery process of Group Replication. The server will leave the group.");
call mtr.add_suppression("There was an error when connecting to the donor server. Please check that group_replication_recovery channel credentials*");
call mtr.add_suppression("The server was automatically set into read only mode after an error was detected.");
set session sql_log_bin=1;
include/group_replication_end.inc
|