Як автоматично запустити 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]
Залиште коментар