Kaip automatiškai paleisti MySQL, jei jis sustoja? [Linux]

Valdant Linux serverius su duomenų bazėmis, mysqld paslaugos netikėtas sustabdymas įvairiomis priežastimis nėra maloni situacija. Šiame vadovei sužinosite, kaip automatiškai paleisti MySQL, jei jis sustoja bet kokiu priežastimi, naudojant scenarijų (script) ir crontab.

Dėl nežinomų priežasčių kartais mysqld daemonas staiga sustoja, nesileisdamas automatiškai iš naujo tam tikrais laikais. Kadangi serverio žurnalai man mažai padėjo, ieškojau sprendimo, kaip patikrinti, ar veikia mysqld paslauga, ir atveju, jei ji neveikia, ją paleisti naudojant crontab.

Kaip automatiškai paleisti MySQL, jei jis sustoja? [Linux]

MariaDB MySQL serveriuose mysqld paslauga paprastai turėtų automatiškai paleisti iš naujo, kai ji sustoja dėl įvairių priežasčių. Jei taip neatsitinka, žemiau esantis scenarijus reguliariai tikrins, ar mysqld daemonas veikia, ir padės automatiškai paleisti MySQL, jei ji yra sustabdyta.

Mano testas atliktas OS Debian 12, MariaDB 10.11.4.

1. Atidarykite konsolę ir sukurkite failą būsimam scenarijui, kuris paleis mysqld paslaugą, jei ji bus sustabdyta.

Man labiau patinka naudoti redaktorių "nano".

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

2. Naujame faile „autostart_mysql.sh“ nukopijuokite toliau pateiktą scenarijų:

#!/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. Išsaugokite naują failąautostart_mysql.sh“, tada nustatykite vykdymo leidimus.

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

4. Eikite į „/usr/local/bin/“ ir išbandykite scenarijų pagal komandą: „./autostart_mysql.sh".

Kaip automatiškai paleisti MySQL, jei jis sustoja? [Linux]
Automatinis mysql paslaugos paleidimas

Šiuo metu scenarijus, nuo kurio pradedate MySQL automatiškai veiks tik tada, kai bus vykdomas rankiniu būdu. Pridėta prie crontab, ji veiks periodiškai, mūsų nustatytu laiko intervalu. Aš pasirinkau tą scenarijų "autostart_mysql.sh“, kuris bus paleistas kas 3 minutes.

Kaip pridėti scenarijų į crontab?

Norėdami pridėti scenarijų prie crontab, kad jis būtų vykdomas periodiškai, jūsų nustatytu laiko intervalu, paleiskite komandą: crontab -e, tada pridėkite komandų eilutę prie failo pabaigos.

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

*/3 nurodo, kad scenarijus bus vykdomas kas 3 minutes.

Išsaugokite crontab ir išeikite iš redaktoriaus.

Atlikę šį veiksmą patikrinkite paslaugą mysqld tai bus daroma kas 3 minutes, o jei paslauga bus sustabdyta, ji bus paleista automatiškai.

Jei jums reikia pagalbos ar kitų paaiškinimų, mielai atsakysime į jūsų komentarus.

Technologijų entuziastas, nuo 2006 metų su malonumu rašau „StealthSettings.com“. Turiu išsamią patirtį su operacinėmis sistemomis: macOS, „Windows“ ir „Linux“, taip pat programavimo kalbomis ir blogo platformomis („WordPress“) bei internetinės parduotuvės platformomis („WooCommerce“, „Magento“, „PrestaShop“).

kaip » Linux » MySQL » Kaip automatiškai paleisti MySQL, jei jis sustoja? [Linux]
Palikite komentarą