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 71
|
include/group_replication.inc [rpl_server_count=3]
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]
############################################################
# 01. Create a table on server1 without log into the binlog.
# Bootstrap the group.
# Execute transaction T1.
[connection server1]
SET SESSION sql_log_bin= 0;
CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY);
SET SESSION sql_log_bin= 1;
include/start_and_bootstrap_group_replication.inc
INSERT INTO t1 VALUES (1);
############################################################
# 02. Create a table on server2 without log into the binlog.
# Join the group.
[connection server2]
SET SESSION sql_log_bin= 0;
CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY);
SET SESSION sql_log_bin= 1;
include/start_group_replication.inc
############################################################
# 03. Create a table on server3 without log into the binlog.
# Lock the table to block a future update.
# Join the group.
[connection server_3]
SET SESSION sql_log_bin= 0;
CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY);
SET SESSION sql_log_bin= 1;
LOCK table t1 READ;
[connection server3]
include/start_group_replication.inc
############################################################
# 04. Execute transaction T2.
# Since server3 is RECOVERING it will not be engaged on
# the AFTER consistency, only server 1 and 2 will participate.
[connection server1]
INSERT INTO t1 VALUES (2);
############################################################
# 05. Validate data.
[connection server1]
include/assert.inc ['There is 1 value in table t1']
include/assert.inc ['There is 2 value in table t1']
[connection server2]
include/assert.inc ['There is 1 value in table t1']
include/assert.inc ['There is 2 value in table t1']
[connection server3]
include/assert.inc ['There is no 1 value in table t1']
include/assert.inc ['There is no 2 value in table t1']
############################################################
# 06. Resume recovery on server3.
# Validate that all servers have the same data.
[connection server_3]
UNLOCK TABLES;
include/gr_wait_for_member_state.inc
include/rpl_sync.inc
include/diff_tables.inc [server1:t1, server2:t1, server3:t1]
############################################################
# 07. Clean up.
[connection server1]
DROP TABLE t1;
include/group_replication_end.inc
|