IP addresses supplied by the group_replication_advertise_recovery_endpoints
system variable as distributed recovery endpoints do not have to be configured for MySQL Server (that is, they do not have to be specified by the admin_address
system variable or in the list for the bind_address
system variable). They do have to be assigned to the server. Any host names used must resolve to a local IP address. IPv4 and IPv6 addresses can be used.
The ports supplied for the distributed recovery endpoints do have to be configured for MySQL Server, so they must be specified by the port
, report_port
, or admin_port
system variable. The server must listen for TCP/IP connections on these ports. If you specify the admin_port
, the replication user for distributed recovery needs the SERVICE_CONNECTION_ADMIN
privilege to connect. Selecting the admin_port
keeps distributed recovery connections separate from regular MySQL client connections.
Joining members try each of the endpoints in turn in the order they are specified on the list. If group_replication_advertise_recovery_endpoints
is set to DEFAULT
rather than a list of endpoints, the standard SQL client connection is offered. Note that the standard SQL client connection is not automatically included on a list of distributed recovery endpoints, and is not offered as a fallback if the donor's list of endpoints is exhausted without a connection. If you want to offer the standard SQL client connection as one of a number of distributed recovery endpoints, you must include it explicitly in the list specified by group_replication_advertise_recovery_endpoints
. You can put it in the last place so that it acts as a last resort for connection.
A group member's distributed recovery endpoints (or standard SQL client connection if endpoints are not provided) do not need to be added to the Group Replication allowlist specified by the group_replication_ip_allowlist
(from MySQL 8.0.22) or group_replication_ip_whitelist
system variable. The allowlist is only for the address specified by group_replication_local_address
for each member. A joining member must have its initial connection to the group permitted by the allowlist in order to retrieve the address or addresses for distributed recovery.
The distributed recovery endpoints that you list are validated when the system variable is set and when a START GROUP_REPLICATION
statement has been issued. If the list cannot be parsed correctly, or if any of the endpoints cannot be accessed on the host because the server is not listening on them, Group Replication logs an error and does not start.