Spec-Zone.ru › MariaDB

ВЫКЛЮЧЕНИЕ

Синтаксис

SHUTDOWN [WAIT FOR ALL { SLAVES | REPLICAS } ]

Описание

Команда SHUTDOWN выключает сервер.

ОЖИДАНИЕ ВСЕХ РЕПЛИК/ВСЕХ ВТОРИЧНЫХ СЕРВЕРОВ

MariaDB начиная с 10.4.4

Опция WAIT FOR ALL SLAVES была добавлена впервые в MariaDB 10.4.4. WAIT FOR ALL REPLICAS является синонимом с MariaDB 10.5.1.

При выключении первичного сервера и выполнении стандартной процедуры выключения, первичный сервер убивает потоки клиентов в случайном порядке. По умолчанию первичный сервер также рассматривает свои потоки выгрузки двоичного лога как обычные потоки клиентов. В результате, потоки выгрузки двоичного лога могут быть убиты, в то время как потоки клиентов всё ещё существуют, что означает, что данные могут быть записаны на первичном сервере во время нормального выключения и не будут реплицированы. Это верно даже при использовании полусинхронной репликации.

В MariaDB 10.4 и более поздних версиях, эта проблема может быть решена путём выключения сервера с помощью команды SHUTDOWN и предоставления опции WAIT FOR ALL REPLICAS/WAIT FOR ALL SLAVES этой команде. Например:

SHUTDOWN WAIT FOR ALL REPLICAS;

Когда предоставляется опция WAIT FOR ALL REPLICAS, сервер убивает свои потоки выгрузки двоичного лога только после того, как все потоки клиентов были убиты, и завершает выключение только после отправки последнего двоичного лога всем подключенным репликам.

Дополнительную информацию см. в разделе Потоки репликации: Потоки выгрузки двоичного лога и процесс выключения.

Необходимые права

Для использования этой команды необходимо право SHUTDOWN (см. GRANT). Это то же право, которое необходимо для использования команды mariadb-admin shutdown.

Выключение для обновлений

Если вы выполняете выключение для перехода на другую основную версию MariaDB, убедитесь, что переменная innodb_fast_shutdown не равна 2 (быстрое аварийное выключение). Значение по умолчанию для этой переменной — 1.

Пример

Следующий пример демонстрирует, как создать событие, которое отключает сервер в определенное время:

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;

Другие способы остановки mariadbd

Вы можете использовать команду mariadb-admin shutdown для аккуратной остановки mariadbd.

Вы также можете использовать системную команду kill на Unix с сигналом SIGTERM (15)

kill -SIGTERM pid-of-mariadbd-process

Номер процесса серверного процесса можно найти в файле, который заканчивается .pid в вашем каталоге данных.

Вышесказанное идентично mariadb-admin shutdown.

В Windows следует использовать:

NET STOP MariaDB

См. также

  • mariadb-admin shutdown.
  • Опция быстрого выключения InnoDB
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не предварительно просматривается MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/shutdown/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API