Monitoring MySQL Group Replication with Performance Schema Tables

The primary tables used for this purpose are:

  • replication_group_members
  • replication_group_member_stats
  1. replication_group_members Table

This table displays network and status information for replication group members. The network addresses shown are the ones used to connect clients to the group.

mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST    | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 13fc049e-c133-11ee-a377-000c29df1f85 | 192.168.131.20 |        3306 | ONLINE       | SECONDARY   | 8.0.27         | XCom                       |
| group_replication_applier | 248563ac-c133-11ee-a387-000c29551477 | 192.168.131.30 |        3306 | ONLINE       | SECONDARY   | 8.0.27         | XCom                       |
| group_replication_applier | f40395ea-c132-11ee-9249-000c29c00092 | 192.168.131.10 |        3306 | ONLINE       | PRIMARY     | 8.0.27         | XCom                       |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3 rows in set (0.00 sec)

Field Descriptions:

Field Description
CHANNEL_NAME Group replication channel name
MEMBER_ID Server UUID for the member. Unique for each member in the group
MEMBER_HOST Network address (hostname or IP) of the member. This is the address clients connect to
MEMBER_PORT Port the server is listening on
MEMBER_STATE Current status of the member, which can be: - ON LINE: Member is fully functional - RECOVERING: Server has joined the group and is retrieving data - OFFLINE: Group replication plugin installed but not started - ERROR: Member encountered errors during transaction application - UNREACHABLE: Member suspected to be unreachable due to timeout
MEMBER_ROLE Role of the member in the group (PRIMARY or SECONDARY)
MEMBER_VERSION MySQL version of the member
MEMBER_COMMUNICATION_STACK Communication stack used for the group (XCom or MySQL)
  1. replication_group_member_stats Table

This table provides group-level information related to the certification process, along with statistics about transactions received and initiated by each member of the replication group.

mysql> SELECT * FROM performance_schema.replication_group_member_stats\G
*************************** 1. row ***************************
                              CHANNEL_NAME: group_replication_applier
                                   VIEW_ID: 17082578864394446:3
                                 MEMBER_ID: 13fc049e-c133-11ee-a377-000c29df1f85
               COUNT_TRANSACTIONS_IN_QUEUE: 0
                COUNT_TRANSACTIONS_CHECKED: 0
                  COUNT_CONFLICTS_DETECTED: 0
        COUNT_TRANSACTIONS_ROWS_VALIDATING: 0
        TRANSACTIONS_COMMITTED_ALL_MEMBERS: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-24
            LAST_CONFLICT_FREE_TRANSACTION:
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 1
         COUNT_TRANSACTIONS_REMOTE_APPLIED: 1
         COUNT_TRANSACTIONS_LOCAL_PROPOSED: 0
         COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
*************************** 2. row ***************************
                              CHANNEL_NAME: group_replication_applier
                                   VIEW_ID: 17082578864394446:3
                                 MEMBER_ID: 248563ac-c133-11ee-a387-000c29551477
               COUNT_TRANSACTIONS_IN_QUEUE: 0
                COUNT_TRANSACTIONS_CHECKED: 0
                  COUNT_CONFLICTS_DETECTED: 0
        COUNT_TRANSACTIONS_ROWS_VALIDATING: 0
        TRANSACTIONS_COMMITTED_ALL_MEMBERS: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-24
            LAST_CONFLICT_FREE_TRANSACTION:
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 1
         COUNT_TRANSACTIONS_REMOTE_APPLIED: 0
         COUNT_TRANSACTIONS_LOCAL_PROPOSED: 0
         COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
*************************** 3. row ***************************
                              CHANNEL_NAME: group_replication_applier
                                   VIEW_ID: 17082578864394446:3
                                 MEMBER_ID: f40395ea-c132-11ee-9249-000c29c00092
               COUNT_TRANSACTIONS_IN_QUEUE: 0
                COUNT_TRANSACTIONS_CHECKED: 0
                  COUNT_CONFLICTS_DETECTED: 0
        COUNT_TRANSACTIONS_ROWS_VALIDATING: 0
        TRANSACTIONS_COMMITTED_ALL_MEMBERS: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-24
            LAST_CONFLICT_FREE_TRANSACTION:
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 0
         COUNT_TRANSACTIONS_REMOTE_APPLIED: 3
         COUNT_TRANSACTIONS_LOCAL_PROPOSED: 0
         COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
3 rows in set (0.01 sec)

Field Descriptions:

Field Description
CHANNEL_NAME Channel name
VIEW_ID Group view ID
MEMBER_ID Member UUID
COUNT_TRANSACTIONS_IN_QUEUE Number of transactions in queue waiting for conflict detection
COUNT_TRANSACTIONS_CHECKED Number of transactions that have been checked for conflicts
COUNT_CONFLICTS_DETECTED Number of transactions that failed conflict detection
COUNT_TRANSACTIONS_ROWS_VALIDATING Current number of rows being validated for conflicts
TRANSACTIONS_COMMITTED_ALL_MEMBERS Transactions successfully committed on all group members, shown as GTID set (updated every 60 seconds)
LAST_CONFLICT_FREE_TRANSACTION GTID of the last transaction checked without conflicts
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE Number of transactions received from the replication group waiting to be applied
COUNT_TRANSACTIONS_REMOTE_APPLIED Number of transactions received from the replication group that have been applied
COUNT_TRANSACTIONS_LOCAL_PROPOSED Number of transactions initiated by this member and sent to the group
COUNT_TRANSACTIONS_LOCAL_ROLLBACK Number of transactions initiated by this member that were rolled back by the group

Tags: MySQL Group Replication Performance Schema Database Monitoring Replication

Posted on Sat, 22 Aug 2026 16:35:37 +0000 by bastienvans