Jak automatycznie rozpocząć MySQL, jeśli to się skończy? [Linux]

Kiedy zarządzasz serwerami Linux za pomocą baz danych, zatrzymanie usługi mysqld z różnych powodów nie jest zbyt przyjemnym zdarzeniem. W tym samouczku dowiesz się, jak automatycznie uruchomić MySQL, jeśli z jakiegoś powodu zatrzyma się, używając skryptu i crontaba.

Z nieznanego powodu w pewnych momentach demon mysqld zatrzymuje się nagle bez automatycznego ponownego uruchamiania. Ponieważ logi serwera niewiele mi pomogły, szukałem rozwiązania, aby sprawdzić działanie usługi mysqld, a jeśli nie jest aktywna, uruchomić ją za pomocą crontaba.

Jak automatycznie rozpocząć MySQL, jeśli to się skończy? [Linux]

Na serwerach MySQL z MadiaDB usługa mysqld powinna zwykle automatycznie uruchamiać się ponownie, gdy zatrzyma się z różnych powodów. Jeśli tak się nie stanie, poniższy skrypt będzie okresowo sprawdzał, czy demon mysqld jest uruchomiony i pomagał automatycznie uruchomić MySQL, jeśli zostanie 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, uruchamiając polecenie: “./autostart_mysql.sh“.

Jak automatycznie rozpocząć MySQL, jeśli to się skończy? [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 scenariusz “autostart_mysql.sh” uruchamiany co 3 minuty.

Jak dodać skrypt do księgowego?

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.

Pasjonując się technologią, z przyjemnością piszę na StealthSetts.com Począwszy od 2006 roku. Mam bogate doświadczenie w systemach operacyjnych: macOS, Windows i Linux, ale także w językach programowania i platformach blogowych (WordPress) oraz w sklepach internetowych (WooCommerce, Magento, Presashop).

Dom Twoje źródło samouczków, przydatne wskazówki i wiadomości. Jak automatycznie rozpocząć MySQL, jeśli to się skończy? [Linux]
Zostaw komentarz