Як автоматично запустити MySQL, якщо вона зупиниться? [Linux]

Коли ви управляєте серверами Linux із базами даних, несподіване зупинення служби mysqld з різних причин не є приємною ситуацією. У цьому посібнику ви дізнаєтеся, як автоматично запустити MySQL, якщо вона зупиниться з будь-якої причини, використовуючи скрипт та crontab.

З невідомих причин іноді демон mysqld раптово зупиняється без автоматичного перезапуску в певні години. Оскільки логи сервера мені не дуже допомогли, я шукав рішення, як перевірити роботу служби mysqld, і у випадку її неактивності автоматично запустити її за допомогою crontab.

Як автоматично запустити MySQL, якщо вона зупиниться? [Linux]

На серверах MySQL із MariaDB служба 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 для періодичного запуску через встановлений вами інтервал часу, виконайте команду: crontab -e, а потім додайте командний рядок у кінець файлу.

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

*/3 вказує, що сценарій виконуватиметься кожні 3 хвилини.

Збережіть crontab і вийдіть з редактора.

Після цього кроку перевірте службу mysqld це відбуватиметься кожні 3 хвилини, а якщо послугу зупинено, вона запускатиметься автоматично.

Якщо вам потрібна допомога чи інші роз’яснення, ми з радістю відповімо на ваші коментарі.

Захоплений технологіями, з 2006 року з радістю пишу на StealthSettings.com. Маю багаторічний досвід роботи з операційними системами: macOS, Windows і Linux, а також з мовами програмування і платформами для блогів (WordPress) та онлайн-магазинів (WooCommerce, Magento, PrestaShop).

Як записатися » Linux » MySQL » Як автоматично запустити MySQL, якщо вона зупиниться? [Linux]
Залишити коментар