Cum să porniți MySQL automat dacă acesta se oprește? [Linux]

Atunci când ai în administrare servere Linux cu baze da date, oprirea din diverse motive a serviciului mysqld nu este un incident tocmai plăcut. În acest tutorial învățați cum să porniți MySQL automat dacă acesta se oprește din oricare motiv, cu ajutorul unui script și crontab.

Din nu știu ce motive la anumite ore, daemonul mysqld se oprește subit fără să repornească automat. Cum log-urile de server nu m-au ajutat foarte mult, am căutat o soluție prin care să verific rularea serviciului mysqld, iar în cazul în care acesta nu este activ, să fie pornit prin intermediul unui crontab.

Cum să porniți MySQL automat dacă acesta se oprește? [Linux]

Pe serverele MySQL cu MadiaDB, în mod normal serviciul mysqld ar trebui să repornească automat atunci când se oprește din diverse motive. Dacă acest lucru nu se întâmplă, scriptul de mai jos va verifica periodic dacă daemon mysqld rulează și vă ajută să porniți MySQL automat dacă acesta este oprit.

Testul meu este făcut pe sistemul de operare Debian 12, MariaDB 10.11.4.

1. Deschide consola și creează fișirul pentru viitorul script care va porni serviciul mysqld dacă acesta este oprit.

Eu prefer să folosesc editor “nano“.

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

2. În noul fișier “autostart_mysql.sh” copiază scriptul de mai jos:

#!/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. Salvați noul fișier “autostart_mysql.sh“, apoi setați permisiuni de executare.

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

4. Navigați în “/usr/local/bin/” și testați funcționarea scriptului prin comanda: “./autostart_mysql.sh“.

Cum să porniți MySQL automat dacă acesta se oprește? [Linux]
Autostart mysql service

În momentul de față, scriptul prin care porniți MySQL automat va rula numai atunci când este executat manual. Adăugat în crontab, acesta va rula periodic, la un interval de timp stabilit de noi. Eu am ales ca scriptul “autostart_mysql.sh” să fie rulat la fiecare 3 minute.

Cum adaugi un script în contab?

Ca să adaugi un script în crontab pentru a rula periodic, la un interval de timp stabilit de tine, executi comanda: crontab -e, apoi adaugi linia de comandă la finalul fișierului.

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

*/3 specifică faptul că scriptul va fi executat la fiecare 3 minute.

Salvezi crontab și părăsești editorul.

După acest pas, verificarea serviciului mysqld se va face la fiecare 3 minute, iar în cazul în care serviciul este oprit, acesta va fi pornit automat.

Dacă aveți nevoie de ajutor sau alte lămuriri, suntem bucuroși să vă răspundem la comentarii.

Pasionat de tehnologie, scriu cu plăcere pe StealthSettings.com începând cu anul 2006. Am o bogată experiență în sistemele de operare: macOS, Windows și Linux, dar și în limbaje de programare și platforme de blogging (WordPress) și pentru magazine online (WooCommerce, Magento, PrestaShop).

How to » Linux » MySQL » Cum să porniți MySQL automat dacă acesta se oprește? [Linux]
Leave a Comment