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 58 59 60 61 62 63 64 65 66 67 68 69 70
|
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.
# Commit some data and then purge all binary logs.
# Bootstrap a group on server1 with version 8.0.36.
[connection server1]
INSTALL PLUGIN clone SONAME 'CLONE_PLUGIN';
CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
SET sql_log_bin = 0;
include/gtid_utils.inc
SET sql_log_bin = 1;
FLUSH BINARY LOGS;
PURGE BINARY LOGS TO 'CURRENT_BINLOG_FILE';
include/assert.inc [GTID_PURGED must be equal to GTID_EXECUTED]
SET @@GLOBAL.DEBUG='+d,group_replication_version_clone_not_supported';
include/start_and_bootstrap_group_replication.inc
############################################################
# 2. Install clone plugin on server2.
# Start GR, cloning is the option chosen as recovery
# from binary logs is not possible.
# Member will move to ERROR state since cloning is not possible from
# version 8.0.36
[connection server2]
INSTALL PLUGIN clone SONAME 'CLONE_PLUGIN';
SET @gr_recovery_retry_count_save = @@GLOBAL.group_replication_recovery_retry_count;
SET GLOBAL group_replication_recovery_retry_count = 1;
SET @gr_clone_threshold_save= @@GLOBAL.group_replication_clone_threshold;
SET GLOBAL group_replication_clone_threshold= 1;
SET GLOBAL group_replication_group_name= "GROUP_REPLICATION_GROUP_NAME";
START GROUP_REPLICATION;
include/gr_wait_for_member_state.inc
SET @@GLOBAL.group_replication_recovery_retry_count = @gr_recovery_retry_count_save;
SET @@GLOBAL.group_replication_clone_threshold = @gr_clone_threshold_save;
include/stop_group_replication.inc
############################################################
# 3. Cleanup.
[connection server1]
SET SESSION sql_log_bin=0;
call mtr.add_suppression("Cannot replicate to server with server_uuid*");
SET SESSION sql_log_bin=1;
DROP TABLE t1;
include/gtid_utils_end.inc
UNINSTALL PLUGIN clone;
include/stop_group_replication.inc
SET @@GLOBAL.DEBUG='-d,group_replication_version_clone_not_supported';
[connection server2]
UNINSTALL PLUGIN clone;
SET SESSION sql_log_bin=0;
call mtr.add_suppression("Member version is read compatible with the group.");
call mtr.add_suppression("Error reading packet from server for channel 'group_replication_recovery'*");
call mtr.add_suppression("Replica I/O for channel 'group_replication_recovery': Got fatal error 1236*");
call mtr.add_suppression("Error while starting the group replication incremental recovery receiver/applier threads");
call mtr.add_suppression("Fatal error during the incremental recovery process of Group Replication. The server will leave the group.");
call mtr.add_suppression("Skipping leave operation: concurrent attempt to leave the group is on-going.");
call mtr.add_suppression("The server was automatically set into read only mode after an error was detected.");
call mtr.add_suppression("The server was automatically set into offline mode after an error was detected.");
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("There was an error when connecting to the donor server.*");
call mtr.add_suppression("For details please check performance_schema.replication_connection_status table and error log messages of Replica I/O for channel group_replication_recovery.");
SET SESSION sql_log_bin=1;
include/group_replication_end.inc
|