Syntax
------

SHUTDOWN [WAIT FOR ALL { SLAVES | REPLICAS } ]

Description
-----------

The SHUTDOWN command shuts the server down.

WAIT FOR ALL REPLICAS / SLAVES
------------------------------

MariaDB starting with 10.4.4
----------------------------
The WAIT FOR ALL SLAVES option was first added in MariaDB 10.4.4. WAIT FOR ALL
REPLICAS has been a synonym since MariaDB 10.5.1.

When a primary server is shutdown and it goes through the normal shutdown
process, the primary kills client threads in random order. By default, the
primary also considers its binary log dump threads to be regular client
threads. As a consequence, the binary log dump threads can be killed while
client threads still exist, and this means that data can be written on the
primary during a normal shutdown that won't be replicated. This is true even
if semi-synchronous replication is being used.

In MariaDB 10.4 and later, this problem can be solved by shutting down the
server with the SHUTDOWN command and by providing the WAIT FOR ALL
REPLICAS/WAIT FOR ALL SLAVES option to the command. For example:

SHUTDOWN WAIT FOR ALL REPLICAS;

When the WAIT FOR ALL REPLICAS option is provided, the server only kills its
binary log dump threads after all client threads have been killed, and it only
completes the shutdown after the last binary log has been sent to all
connected replicas.

See Replication Threads: Binary Log Dump Threads and the Shutdown Process for
more information.

Required Permissions
--------------------

One must have a SHUTDOWN privilege (see GRANT) to use this command. It is the
same privilege one needs to use the mariadb-admin shutdown command.

Shutdown for Upgrades
---------------------

If you are doing a shutdown to migrate to another major version of MariaDB,
please ensure that the innodb_fast_shutdown variable is not 2 (fast crash
shutdown). The default of this variable is 1.

Example
-------

The following example shows how to create an event which turns off the server
at a certain time:

CREATE EVENT `test`.`shutd`
  ON SCHEDULE
    EVERY 1 DAY
    STARTS '2014-01-01 20:00:00'
  COMMENT 'Shutdown Maria when the office is closed'
DO BEGIN
  SHUTDOWN;
END;

Other Ways to Stop mysqld
-------------------------

You can use the mariadb-admin shutdown command to take down mysqld cleanly.

You can also use the system kill command on Unix with signal SIGTERM (15)

kill -SIGTERM pid-of-mysqld-process

You can find the process number of the server process in the file that ends
with .pid in your data directory.

The above is identical to mariadb-admin shutdown.

On windows you should use:

NET STOP MySQL

URL: https://mariadb.com/kb/en/shutdown/