The AdminAPI commands you use to work with an InnoDB Cluster, InnoDB ClusterSet, InnoDB ReplicaSet, and the individual member server instances in these deployments modify the configuration of MySQL Server on the instance. Depending on the way MySQL Shell is connected to an instance and the version of MySQL Server installed on the instance, these configuration changes can be persisted to the instance automatically.
By making settings to the instance persistent, you ensure that
after the instance restarts, configuration changes are retained.
For background information see
SET
PERSIST
. This persistence is essential for reliable
usage. For example, if settings are not persistent, an instance
added to a cluster does not rejoin the cluster after a restart
because configuration changes are lost.
Instances which meet the following requirements support persisting configuration changes automatically:
The instance is running MySQL version 8.0.11 or later.
persisted_globals_load
is set toON
.The instance has not been started with the
--no-defaults
option.
Instances which do not meet these requirements do not support persisting configuration changes automatically, and when AdminAPI operations result in changes to the instance's settings to be persisted you receive warnings such as:
WARNING: On instance 'localhost:3320' membership change cannot be persisted since MySQL version 5.7.21
does not support the SET PERSIST command (MySQL version >= 8.0.5 required). Please use the
<Dba>.configureLocalInstance command locally to persist the changes.
When AdminAPI commands are issued against the MySQL instance
which MySQL Shell is currently running on, in other words, the
local instance, MySQL Shell persists configuration changes
directly to the instance. On local instances which support
persisting configuration changes automatically, configuration
changes are persisted to the instance's
mysqld-auto.cnf
file, and the configuration
change does not require any further steps.
You must make the changes locally on local instances that do not
support persisting configuration changes automatically. For more
information, see Configuring Instances with
dba.configureLocalInstance()
.
When run against a remote instance, in other words, an instance
other than the one which MySQL Shell is currently running on,
if the instance supports persisting configuration changes
automatically, the AdminAPI commands persist configuration
changes to the instance's mysql-auto.conf
option file.
If a remote instance does not support persisting configuration
changes automatically, the AdminAPI commands can not
automatically configure the instance's option file. So, the
AdminAPI commands can read information from the instance, for
example, to display the current configuration. But changes to
the configuration cannot be persisted to the instance's option
file. In this case, you need to persist the changes locally. For
more information, see
Configuring Instances with
dba.configureLocalInstance()
.