This section explains how to change the mode which a group is running in, either single or multi-primary. The functions used to change a group's mode can be run on any member.
Use the
group_replication_switch_to_single_primary_mode()
function to change a group running in multi-primary mode to
single-primary mode by issuing:
SELECT group_replication_switch_to_single_primary_mode()
When you change to single-primary mode, strict consistency
checks are also disabled on all group members, as required in
single-primary mode
(group_replication_enforce_update_everywhere_checks=OFF
).
If no string is passed in, the election of the new primary in
the resulting single-primary group follows the election
policies described in
Section 20.1.3.1, “Single-Primary Mode”. To
override the election process and configure a specific member
of the multi-primary group as the new primary in the process,
get the server_uuid
of the
member and pass it to
group_replication_switch_to_single_primary_mode()
.
For example, issue:
SELECT group_replication_switch_to_single_primary_mode(member_uuid);
Use the
group_replication_switch_to_multi_primary_mode()
function to change a group running in single-primary mode to
multi-primary mode by issuing:
SELECT group_replication_switch_to_multi_primary_mode()
After some coordinated group operations to ensure the safety and consistency of your data, all members which belong to the group become primaries.
When you change a group from single-primary mode to multi-primary mode, members are automatically placed in read-only mode if they are running a later MySQL server version than the lowest version present in the group.
While the action runs, you can check its progress by issuing
the following SELECT
statement:
SELECT event_name, work_completed, work_estimated FROM performance_schema.events_stages_current WHERE event_name LIKE "%stage/group_rpl%";
+----------------------------------------------------------------------+----------------+----------------+
| event_name | work_completed | work_estimated |
+----------------------------------------------------------------------+----------------+----------------+
| stage/group_rpl/Multi-primary Switch: applying buffered transactions | 0 | 1 |
+----------------------------------------------------------------------+----------------+----------------+