Главная >> Инструкции >> Перезапуск MySQL

Перезапуск MySQL

MySQL - это самая популярная система баз данных, которая используется для обеспечения работы большинства сайтов. Пока вы размещаете свой сайт на хостинге, вам нет необходимости думать о её настройке или своевременной перезагрузке, потому что этим занимаются системные администраторы хостинга. Но когда вы переберётесь на VPS, это всё будет уже в зоне вашей ответственности.

В этой статье мы рассмотрим, как выполняется перезапуск MySQL в разных дистрибутивах Linux, а также как сделать, чтобы MySQL перезапускалась автоматически после падения.


Содержание статьи

Перезапуск MySQL или MariaDB

В большинстве современных дистрибутивов, а особенно тех, что используются для работы серверов, для управления службами применяют Systemd. Именно с её помощью мы будем перезапускать движок баз данных. Ещё один момент, с которым нужно определиться, - это название юнит-файла MySQL. В зависимости от версии и дистрибутива оно может отличаться:

  • mysql-server;
  • mariadb-server;
  • mysql;
  • mariadb;
  • mariadbd
  • mysqld;

Вы можете попробовать использовать эти варианты, чтобы найти тот, что используется в вашей системе; последние версии Ubuntu понимают несколько имен MySQL. Таким образом, для MariaDB и выше перезапуск MySQL Сentos и Ubuntu не отличается. Просто попробуйте узнать состояние сервиса, если вы выбрали правильное название, то увидите что-то вроде этого:

А если нет, то:

Выполнить частичную перезагрузку только с обновлением конфигурации, так как это делалось в Apache и Nginx вы не сможете. Здесь необходимо полностью перезагружать сервис:

sudo systemctl restart mysql

В некоторых случаях необходимо полностью остановить работающий сервис, а потом запустить его заново. Для этого используем команду stop, затем start:

sudo systemctl stop mysql
sudo systemctl start mysql

Автоматический перезапуск MySQL

Из-за проблем с памятью на сервере или других ошибок MySQL может завершить свою работу. Это очень неприятное обстоятельство, поскольку вы не можете всегда следить за сервером, а когда такое случиться, ваш сайт будет недоступен для пользователей на протяжении долгого времени.

В systemd есть возможность, которая позволяет делать рестарт MySQL сразу же после того, как он неожиданно завершился. Для этого необходимо добавить такую строчку в конфигурацию юнит-файла  MySQL:

Restart=always

Но обратите внимание, что редактировать файлы юнитов в папке /usr нельзя, потому что во время обновления они могут быть перезаписаны, можно только в /etc, и желательно создавать отдельный файл. Можно поступить проще: используйте команду systemctl edit:

sudo systemctl edit mariadb

[Service]
Restart=always

Сохраните изменения. Эти строки будут записаны в виде отдельного файла, который автоматически подключается к основному.

Выводы

В этой статье мы рассмотрели, как перезапустить MySQL для обновления конфигурации, а также как настроить автоматический перезапуск службы после возникновения ошибок. Если у вас остались вопросы, спрашивайте в комментариях!

3 комментария к “Перезапуск MySQL”

  1. Явно не для простых юзеров, но разносторонность приветствую, сейчас этих бд - только выбирай, короче от заказчика.

    Ответить
  2. А как можно проверить, что Restart=always срабатывает и служба перезапускается при падении? Я внес эти правки и попробовал service mysql stop... Но служба остановилась и не запустилась, пока я сам ее не запустил. Debian / MariaDB

    Ответить

Оставьте комментарий