Jak uruchomić MySQL automatycznie, jeśli się zatrzyma? [Linux]

Podczas zarządzania serwerami Linux z bazami danych, nagłe zatrzymywanie usługi mysqld z różnych powodów nie jest przyjemną sytuacją. W tym poradniku nauczysz się, jak automatycznie uruchomić MySQL, jeśli zatrzyma się z jakiejkolwiek przyczyny, za pomocą skryptu i crontab.

Z niewiadomych przyczyn czasem demon mysqld zatrzymuje się nagle, nie uruchamiając się automatycznie o pewnych porach. Ponieważ logi serwera nie były dla mnie zbyt pomocne, poszukałem rozwiązania, aby sprawdzić, czy usługa mysqld jest uruchomiona, a w przypadku jej braku uruchomić ją za pomocą crontab.

Jak uruchomić MySQL automatycznie, jeśli się zatrzyma? [Linux]

Na serwerach MySQL z MariaDB usługa mysqld powinna normalnie uruchamiać się automatycznie, gdy zatrzyma się z różnych powodów. Jeśli to się nie dzieje, poniższy skrypt będzie regularnie sprawdzał, czy demon mysqld jest uruchomiony, i pomoże ci automatycznie uruchomić MySQL, jeśli jest zatrzymany.

Mój test został przeprowadzony na systemie operacyjnym Debian 12, MariaDB 10.11.4.

1. Otwórz konsolę i utwórz plik dla przyszłego skryptu, który uruchomi usługę mysqld, jeśli zostanie zatrzymana.

Wolę używać edytora ”nano".

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

2. W nowym pliku „autostart_mysql.sh” skopiuj poniższy skrypt:

#!/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. Zapisz nowy plik „autostart_mysql.sh„, a następnie ustaw uprawnienia do wykonywania.

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

4. Przejdź do „/usr/local/bin/” i przetestuj skrypt za pomocą polecenia: „./autostart_mysql.sh".

Jak uruchomić MySQL automatycznie, jeśli się zatrzyma? [Linux]
Autostart usługi mysql

W tej chwili skrypt, od którego zaczynasz MySQL automatycznie będzie działać tylko wtedy, gdy zostanie wykonane ręcznie. Dodany do crontaba, będzie uruchamiał się okresowo, w ustalonym przez nas odstępie czasu. Wybrałem ten scenariusz”autostart_mysql.sh” i będzie uruchamiany co 3 minuty.

Jak dodać skrypt do crontab?

Aby dodać skrypt do pliku crontab, który będzie uruchamiany okresowo, w ustalonych przez Ciebie odstępach czasu, uruchom komendę: crontab -e, a następnie dodaj wiersz poleceń na końcu pliku.

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

*/3 określa, że ​​skrypt będzie wykonywany co 3 minuty.

Zapisz plik crontab i wyjdź z edytora.

Po tym kroku sprawdź usługę mysqld będzie to wykonywane co 3 minuty, a jeśli usługa zostanie zatrzymana, zostanie uruchomiona automatycznie.

Jeśli potrzebujesz pomocy lub innych wyjaśnień, chętnie odpowiemy na Twoje uwagi.

Pasjonat technologii, z przyjemnością piszę dalej StealthSettings.com od 2006 roku. Mam duże doświadczenie w systemach operacyjnych: macOS, Windows şi Linux, ale także w językach programowania i platformach blogowych (WordPress) oraz dla sklepów internetowych (WooCommerce, Magento, PrestaShop).

jak » Linux » MySQL » Jak uruchomić MySQL automatycznie, jeśli się zatrzyma? [Linux]
Zostaw komentarz