You can also use a PRIVILEGE_CHECKS_USER
        account to secure the two replication applier threads used by
        Group Replication. The
        group_replication_applier thread on each
        group member is used for applying group transactions, and the
        group_replication_recovery thread on each
        group member is used for state transfer from the binary log as
        part of distributed recovery when the member joins or rejoins
        the group.
      
        To secure one of these threads, stop Group Replication, then
        issue the CHANGE REPLICATION SOURCE
        TO statement with the
        PRIVILEGE_CHECKS_USER option, specifying
        group_replication_applier or
        group_replication_recovery as the channel
        name. For example:
      
mysql> STOP GROUP_REPLICATION;
mysql> CHANGE REPLICATION SOURCE TO PRIVILEGE_CHECKS_USER = 'gr_repl'@'%.example.com' 
          FOR CHANNEL 'group_replication_recovery';
mysql> FLUSH PRIVILEGES;
mysql> START GROUP_REPLICATION;
        For Group Replication channels, the
        REQUIRE_ROW_FORMAT setting is automatically
        enabled when the channel is created, and cannot be disabled, so
        you do not need to specify this.
      
        Group Replication requires every table that is to be replicated
        by the group to have a defined primary key, or primary key
        equivalent where the equivalent is a non-null unique key. Rather
        than using the checks carried out by the
        sql_require_primary_key system
        variable, Group Replication has its own built-in set of checks
        for primary keys or primary key equivalents. You may set the
        REQUIRE_TABLE_PRIMARY_KEY_CHECK option of the
        CHANGE REPLICATION SOURCE TO
        statement to ON for a Group Replication
        channel. However, be aware that you might find some transactions
        that are permitted under Group Replication's built-in checks are
        not permitted under the checks carried out when you set
        sql_require_primary_key = ON or
        REQUIRE_TABLE_PRIMARY_KEY_CHECK = ON. For
        this reason, new and upgraded Group Replication channels have
        REQUIRE_TABLE_PRIMARY_KEY_CHECK set to the
        default value STREAM, rather than
        ON.
      
        If a remote cloning operation is used for distributed recovery
        in Group Replication (see
        Section 20.5.4.2, “Cloning for Distributed Recovery”), the
        PRIVILEGE_CHECKS_USER account and related
        settings from the donor are cloned to the joining member. If the
        joining member is set to start Group Replication on boot, it
        automatically uses the account for privilege checks on the
        appropriate replication channels.