Как да стартирате MySQL автоматично, ако спре? [Linux]

Когато управлявате Linux сървъри с бази данни, неочакваното спиране на услугата mysqld поради различни причини не е приятна ситуация. В този наръчник ще научите как да стартирате MySQL автоматично, ако той спре по каквото и да било основание, използвайки скрипт и crontab.

Поради непознати причини демонът mysqld понякога спира внезапно, без да се стартира автоматично в определени часове. Тъй като логовете на сървъра не ми помогнаха много, потърсих решение да проверя дали услугата mysqld работи и, ако тя не е активна, да я стартирам чрез crontab.

Как да стартирате MySQL автоматично, ако спре? [Linux]

На MySQL сървърите с MariaDB услугата mysqld обикновено трябва да се стартира автоматично, когато тя спре поради различни причини. Ако това не се случи, по-долу представеният скрипт ще проверява периодично дали демонът mysqld работи и ще ви помогне да стартирате MySQL автоматично, ако тя е спряла.

Моят тест е направен на OS 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 минути, а ако услугата бъде спряна, ще се стартира автоматично.

Ако имате нужда от помощ или други пояснения, ще се радваме да отговорим на вашите коментари.

Като пасиониран по технологии, пиша с удоволствие в StealthSettings.com от 2006 г. Имам обширен опит с операционни системи: macOS, Windows и Linux, както и с програмни езици и платформи за блогове (WordPress) и онлайн магазини (WooCommerce, Magento, PrestaShop).

How to » Linux » MySQL » Как да стартирате MySQL автоматично, ако спре? [Linux]
Оставете коментар