1. first, use mtr start 2 server instances # ./mtr gr_abort_query_on_plugin_error --start Logging: ./mtr gr_abort_query_on_plugin_error --start MySQL Version 8.0.26 Checking supported features Using 'all' suites Collecting tests Removing old var directory Creating var directory '/usr/local/mysql-8.0.26-linux-glibc2.12-x86_64/mysql-test/var' Installing system database Using parallel: 1 ============================================================================== TEST NAME RESULT TIME (ms) COMMENT ------------------------------------------------------------------------------ worker[1] mysql-test-run: WARNING: running this script as _root_ will cause some tests to be skipped worker[1] Started [mysqld.1 - pid: 66935, winpid: 66935] [mysqld.2 - pid: 66937, winpid: 66937] worker[1] Using config /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64/mysql-test/suite/group_replication/my.cnf worker[1] Port and socket path for server(s): worker[1] mysqld.1 13000 /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64/mysql-test/var/tmp/mysqld.1.sock worker[1] mysqld.2 13002 /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64/mysql-test/var/tmp/mysqld.2.sock worker[1] Waiting for server(s) to exit... 2. use 13000-conn1, init mgr of 13000 $ mysql -uroot -P13000 -h127.0.0.1 test mysql> set GLOBAL group_replication_bootstrap_group=ON; Query OK, 0 rows affected (0.00 sec) mysql> set persist group_replication_group_name='aabbccdd-aabb-aabb-aabb-aabbccddeeff',persist group_replication_group_seeds='127.0.0.1:33061,127.0.0.1:33062',persist group_replication_local_address='127.0.0.1:33061';set global group_replication_consistency='eventual';CHANGE MASTER TO MASTER_USER="root" FOR CHANNEL "group_replication_recovery";start group_replication; Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected, 3 warnings (0.03 sec) Query OK, 0 rows affected (2.10 sec) mysql> set GLOBAL group_replication_bootstrap_group=OFF; Query OK, 0 rows affected (0.00 sec) mysql> quit Bye 3. use 13002-conn2, init mgr of 13002 $ mysql -uroot -P13002 -h127.0.0.1 test mysql> set persist group_replication_group_name='aabbccdd-aabb-aabb-aabb-aabbccddeeff',persist group_replication_group_seeds='127.0.0.1:33061,127.0.0.1:33062',persist group_replication_local_address='127.0.0.1:33062';set global group_replication_consistency='eventual';CHANGE MASTER TO MASTER_USER="root" FOR CHANNEL "group_replication_recovery";start group_replication; Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected, 3 warnings (0.02 sec) Query OK, 0 rows affected (2.36 sec) mysql> select * from performance_schema.replication_group_members; +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ | group_replication_applier | 2b2642b9-1914-11ec-9436-d08e790526e0 | 127.0.0.1 | 13000 | ONLINE | PRIMARY | 8.0.26 | | group_replication_applier | 2b2f7cbf-1914-11ec-94a6-d08e790526e0 | 127.0.0.1 | 13002 | ONLINE | PRIMARY | 8.0.26 | +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ 2 rows in set (0.00 sec) mysql> quit Bye 4. use 13000-conn2, init data and set gtid_next $ mysql -uroot -P13000 -h127.0.0.1 test mysql> create table t1 (c1 int primary key, c2 int) engine=innodb; Query OK, 0 rows affected (0.03 sec) mysql> insert into t1 values (1,1); Query OK, 1 row affected (0.02 sec) mysql> show master status; +--------------------------+----------+--------------+------------------+------------------------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +--------------------------+----------+--------------+------------------+------------------------------------------+ | server-binary-log.000001 | 1375 | | | aabbccdd-aabb-aabb-aabb-aabbccddeeff:1-4 | +--------------------------+----------+--------------+------------------+------------------------------------------+ 1 row in set (0.00 sec) mysql> set session gtid_next='aabbccdd-aabb-aabb-aabb-aabbccddeeff:5'; Query OK, 0 rows affected (0.00 sec) 5. use 13000-conn3, insert one row, and then query, and query not return $ mysql -uroot -P13000 -h127.0.0.1 test mysql> show master status; +--------------------------+----------+--------------+------------------+------------------------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +--------------------------+----------+--------------+------------------+------------------------------------------+ | server-binary-log.000001 | 1375 | | | aabbccdd-aabb-aabb-aabb-aabbccddeeff:1-4 | +--------------------------+----------+--------------+------------------+------------------------------------------+ 1 row in set (0.01 sec) mysql> insert into t1 values (2,2); Query OK, 1 row affected (0.02 sec) mysql> show master status; +--------------------------+----------+--------------+------------------+------------------------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +--------------------------+----------+--------------+------------------+------------------------------------------+ | server-binary-log.000001 | 1665 | | | aabbccdd-aabb-aabb-aabb-aabbccddeeff:1-5 | +--------------------------+----------+--------------+------------------+------------------------------------------+ 1 row in set (0.01 sec) mysql> set session group_replication_consistency='BEFORE'; Query OK, 0 rows affected (0.00 sec) mysql> select * from t1; 6. use 13000-conn4, check processlist $ mysql -uroot -P13000 -h127.0.0.1 test mysql> show processlist; +----+-----------------+-----------------+------+---------+------+----------------------------------------------------------+----------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+-----------------+-----------------+------+---------+------+----------------------------------------------------------+----------------------------------+ | 5 | event_scheduler | localhost | NULL | Daemon | 686 | Waiting on empty queue | NULL | | 10 | system user | | NULL | Connect | 618 | waiting for handler commit | Group replication applier module | | 13 | system user | | NULL | Query | 618 | Replica has read all relay log; waiting for more updates | NULL | | 22 | root | localhost:41918 | test | Sleep | 535 | | NULL | | 23 | root | localhost:41922 | test | Query | 473 | Executing hook on transaction begin. | select * from t1 | | 24 | root | localhost:41928 | test | Query | 0 | init | show processlist | +----+-----------------+-----------------+------+---------+------+----------------------------------------------------------+----------------------------------+ 6 rows in set (0.00 sec)