Как начать MySQL автоматически, если он останавливается? [Linux]

Когда вы управляете Linux-серверами с базами данных, остановка службы mysqld по разным причинам — не очень приятное происшествие. В этом уроке вы узнаете, как автоматически запустить MySQL, если он по какой-либо причине остановился, с помощью скрипта и crontab.

По какой-то неизвестной причине в определенное время демон mysqld внезапно останавливается без автоматического перезапуска. Поскольку логи сервера мне не особо помогли, я искал решение проверить работу службы mysqld и, если она не активна, запустить ее через crontab.

Как начать MySQL автоматически, если он останавливается? [Linux]

На серверах MySQL с MadiaDB служба mysqld обычно должна перезапускаться автоматически, если она останавливается по разным причинам. Если этого не происходит, приведенный ниже сценарий будет периодически проверять, запущен ли демон mysqld, и поможет автоматически запустить MySQL, если он остановлен.

Мой тест выполнен на ОС Debian 12, MariaDB 10.11.4Полем

1. Откройте консоль и создайте файл будущего скрипта, который будет запускать службу mysqld, если она остановлена.

Я предпочитаю использовать редактор “nano“Полем

sudo nano /usr/local/bin/autostart_mysql.sh

2. В новом файле “autostart_mysql.sh” скопируйте скрипт ниже:

#!/bin/bash

if systemctl is-active mysqld > /dev/null; then
  echo "The mysqld service is running."
else
  echo "The mysqld service is not running. Restarting..."
  systemctl start mysqld
fi

3. Сохраните новый файл. “autostart_mysql.sh“, затем установите разрешения на выполнение.

chmod +x /usr/local/bin/autostart_mysql.sh

4. Перейдите к “/usr/local/bin/” и протестируйте скрипт, выполнив команду: “./autostart_mysql.sh“Полем

Как начать MySQL автоматически, если он останавливается? [Linux]
Автозапуск службы MySQL

Прямо сейчас сценарий, с которого вы начинаете Mysql автоматически будет запускаться только при выполнении вручную. Добавленный в crontab, он будет запускаться периодически с установленным нами интервалом времени. Я выбрал сценарий “autostart_mysql.sh” запускаться каждые 3 минуты.

Как добавить скрипт в бухгалтерию?

Чтобы добавить в crontab скрипт для периодического запуска через заданный вами интервал времени, выполните команду: crontab -e, затем добавьте командную строку в конец файла.

*/3 * * * * /usr/local/bin/autostart_mysql.sh

*/3 указывает, что скрипт будет выполняться каждые 3 минуты.

Сохраните crontab и выйдите из редактора.

После этого шага проверьте сервис mysqld это будет делаться каждые 3 минуты, и если служба остановлена, она запустится автоматически.

Если вам нужна помощь или другие разъяснения, мы будем рады ответить на ваши комментарии.

Увлеченными технологиями, я с удовольствием пишу на stealthsetts.com, начиная с 2006 года. У меня богатый опыт работы в операционных системах: macOS, Windows и Linux, а также в языках программирования и платформах для блога (WordPress) и для интернет -магазинов (WooCommerce, Magento, Presashop).

Дом Ваш источник его учебников, полезных советов и новостей. Как начать MySQL автоматически, если он останавливается? [Linux]
Оставьте комментарий