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

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

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

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

На MySQL сървъри с MadiaDB услугата 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 -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]
Оставете коментар