Kako avtomatsko zagnati MySQL, če se ustavi? [Linux]

Ko upravljate z Linux strežniki z bazami podatkov, nepričakovano ustavljanje storitve mysqld iz različnih razlogov ni prijetna situacija. V tem vodiču se boste naučili, kako avtomatsko zagnati MySQL, če se ta ustavi iz kakršnega koli razloga, s pomočjo skripte in crontab.

Iz neznanih razlogov se včasih daemon mysqld nenadoma ustavi, ne da bi se avtomatsko znova zagnal ob določenih urah. Ker mi dnevniki strežnika niso veliko pomagali, sem iskal rešitev, kako preveriti, ali je storitev mysqld v teku, in v primeru neaktivnosti jo znova zagnati prek crontab.

Kako avtomatsko zagnati MySQL, če se ustavi? [Linux]

Na MySQL strežnikih z MariaDB bi se storitev mysqld običajno morala avtomatsko ponovno zagnati, ko se ustavi iz različnih razlogov. Če se to ne zgodi, bo spodnja skripta redno preverjala, ali je daemon mysqld v teku, in vam pomagala avtomatsko zagnati MySQL, če je ustavljen.

Moj test je opravljen na OS Debian 12, MariaDB 10.11.4.

1. Odprite konzolo in ustvarite datoteko za prihodnji skript, ki bo zagnal storitev mysqld, če bo zaustavljena.

Raje uporabljam urejevalnik "nano".

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

2. V novi datoteki "autostart_mysql.sh” kopirajte spodnji skript:

#!/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. Shranite novo datotekoautostart_mysql.sh«, nato nastavite dovoljenja za izvajanje.

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

4. Pomaknite se do »/usr/local/bin/" in preizkusite skript z ukazom: "./autostart_mysql.sh".

Kako avtomatsko zagnati MySQL, če se ustavi? [Linux]
Samodejni zagon storitve mysql

Trenutno, scenarij, s katerega začenjate MySQL samodejno se bo zagnal samo, če se izvede ročno. Dodan v crontab se bo izvajal periodično, v časovnem intervalu, ki ga določimo mi. Izbral sem scenarij "autostart_mysql.sh” izvajati vsake 3 minute.

Kako dodati skripto v crontab?

Če želite v crontab dodati skript za občasno izvajanje v časovnem intervalu, ki ga nastavite, zaženite ukaz: crontab -e, nato dodajte ukazno vrstico na konec datoteke.

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

*/3 določa, da se bo skript izvajal vsake 3 minute.

Shranite crontab in zapustite urejevalnik.

Po tem koraku preverite storitev mysqld to se bo izvajalo vsake 3 minute, in če je storitev ustavljena, se bo samodejno zagnala.

Če potrebujete pomoč ali druga pojasnila, z veseljem odgovorimo na vaše komentarje.

Strasten do tehnologije, z veseljem pišem na StealthSettings.com od leta 2006. Imam bogate izkušnje s operacijskimi sistemi: macOS, Windows in Linux, ter programskimi jeziki in platformami za bloganje (WordPress) in za spletne trgovine (WooCommerce, Magento, PrestaShop).

kako » Linux » MySQL » Kako avtomatsko zagnati MySQL, če se ustavi? [Linux]
Pustite komentar