STOP GROUP_REPLICATION
Stops Group Replication. This statement requires the
GROUP_REPLICATION_ADMIN
privilege
(or the deprecated SUPER
privilege). As soon as you issue STOP
GROUP_REPLICATION
the member is set to
super_read_only=ON
, which
ensures that no writes can be made to the member while Group
Replication stops. Any other asynchronous replication channels
running on the member are also stopped. Any user credentials
that you specified in the START
GROUP_REPLICATION
statement when starting Group
Replication on this member are removed from memory, and must be
supplied when you start Group Replication again.
Use this statement with extreme caution because it removes the server instance from the group, meaning it is no longer protected by Group Replication's consistency guarantee mechanisms. To be completely safe, ensure that your applications can no longer connect to the instance before issuing this statement to avoid any chance of stale reads.
The STOP GROUP_REPLICATION
statement stops asynchronous replication channels on the group
member, but it does not implicitly commit transactions that are
in progress on them like STOP
REPLICA
does. This is because on a Group Replication
group member, an additional transaction committed during the
shutdown operation would leave the member inconsistent with the
group and cause an issue with rejoining. To avoid failed commits
for transactions that are in progress while stopping Group
Replication, the STOP
GROUP_REPLICATION
statement cannot be issued while a
GTID is assigned as the value of the
gtid_next
system variable.
The
group_replication_components_stop_timeout
system variable specifies the time for which Group Replication
waits for each of its modules to complete ongoing processes
after this statement is issued. The timeout is used to resolve
situations in which Group Replication components cannot be
stopped normally, which can happen if the member is expelled
from the group while it is in an error state, or while a process
such as MySQL Enterprise Backup is holding a global lock on tables on the member.
In such situations, the member cannot stop the applier thread or
complete the distributed recovery process to rejoin.
STOP GROUP_REPLICATION
does not complete
until either the situation is resolved (for example, by the lock
being released), or the component timeout expires and the
modules are shut down regardless of their status. The default
value is 300 seconds; this means that Group Replication
components are stopped after 5 minutes if the situation is not
resolved before that time, allowing the member to be restarted
and rejoin.