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
|
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. Set PRIVILEGE_CHECKS_USER for GR applier channel and recovery channels.
# Bootstrap server1 and add some data.
CHANGE REPLICATION SOURCE TO PRIVILEGE_CHECKS_USER = 'root'@'localhost' FOR CHANNEL "group_replication_applier";
CHANGE REPLICATION SOURCE TO SOURCE_USER="root", PRIVILEGE_CHECKS_USER = 'root'@'localhost' FOR CHANNEL "group_replication_recovery";
Warnings:
Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure.
Note 1760 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.
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. Restart server 2 with a monitoring process (mysqld_safe) if needed.
[connection server2]
include/spawn_monitoring_process.inc
# 4. Setup the server so group replication starts on boot.
# Install the Clone plugin and set threshold to 1.
INSTALL PLUGIN clone SONAME 'CLONE_PLUGIN';
SET GLOBAL group_replication_clone_threshold= 1;
# 5. Start GR and wait for server to reboot post clone.
# Joiner must fail to join the group.
START GROUP_REPLICATION;
include/rpl_reconnect.inc
# 6. Confirm value of PRIVILEGE_CHECKS_USER is preserved pre and post GR start.
include/assert.inc [PRIVILEGE_CHECKS_USER has correct value for channel group_replication_applier]
include/start_group_replication.inc
include/assert.inc [PRIVILEGE_CHECKS_USER has correct value for channel group_replication_applier and group_replication_recovery]
# 7. Cleanup.
include/clean_monitoring_process.inc
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 1.");
call mtr.add_suppression("Clone removing all user data for provisioning: *");
SET SESSION sql_log_bin = 1;
include/group_replication_end.inc
|