Group Replication distributed recovery is one of the key features and until now it was restricted to be executed over one mysql connection point automatically defined on mysql system variables port and host.
With group_replication_recovery_endpoints
we can specify through which interfaces can group replication recovery take place for a given member so that it controls where recovery traffic flows in the network infrastructure.
For each server we can configure a comma separated list of local endpoints and every endpoint contains information about the host and port.
An endpoint host can be specified with:
- IPV4 address
- IPV6 address inside square brackets
- a host name
that are bind to the MySQL server instance, but also allowed/included on bind_address.
And endpoint port must be a listening port on the MySQL server, that is, it must be one of report_port or admin_port system variables. Some of the endpoints connections may need more privileges. For example connections established to admin_port
require SERVICE_CONNECTION_ADMIN
privilege.
An example of a network:
Assuming that on all servers MySQL system var report_port
is configured with 3306
, until now we only could use network 10.0.0.0/8
to do recovery.
Using group_replication_recovery_endpoints
we can specify which network interfaces are used to execute Group Replication recovery.
On server .1
we can:
1 |
SET @@GLOBAL.group_replication_advertise_recovery_endpoints = "192.168.0.1:3306"; |
To enable the use of endpoint 192.168.0.1:3306
on Group Replication recovery when using server .1
as donor.
We continue to improve Group Replication to better suite the needs of all MySQL users. If you want more information about group_replication_endpoints
please give a look to documentation.