Kada upravljate Linux poslužiteljima s bazama podataka, neočekivano zaustavljanje mysqld usluge iz različitih razloga nije ugodna situacija. U ovom vodiču naučit ćete kako automatski pokrenuti MySQL ako se zaustavi iz bilo kojeg razloga, uz pomoć skripte i crontab.
Iz nepoznatih razloga, ponekad se mysqld daemon iznenada zaustavi bez automatskog ponovnog pokretanja u određeno vrijeme. Budući da mi zapisi servera nisu puno pomogli, tražio sam rješenje kako bih provjerio radi li usluga mysqld, i u slučaju da nije aktivna, pokrenuo je putem crontaba.
Kuprini
Kako automatski pokrenuti MySQL ako se zaustavi? [Linux]
Na MySQL poslužiteljima s MariaDB, usluga mysqld obično bi se trebala automatski ponovno pokrenuti kada se zaustavi iz različitih razloga. Ako se to ne dogodi, donji skript će periodički provjeravati radi li mysqld daemon i pomoći će vam automatski pokrenuti MySQL ako je zaustavljen.
Moj test se radi na OS-u Debian 12, MariaDB 10.11.4.
1. Otvorite konzolu i kreirajte datoteku za buduću skriptu koja će pokrenuti uslugu mysqld ako se zaustavi.
Radije koristim editor "nano
".
sudo nano /usr/local/bin/autostart_mysql.sh
2. U novoj datoteci "autostart_mysql.sh
” kopirajte skriptu ispod:
#!/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. Spremite novu datoteku "autostart_mysql.sh
“, zatim postavite dopuštenja za izvršenje.
chmod +x /usr/local/bin/autostart_mysql.sh
4. Idite na "/usr/local/bin/
” i testirajte skriptu naredbom: “./autostart_mysql.sh
".
Upravo sada, scenarij od kojeg krećete MySQL automatski će se pokrenuti samo kada se ručno izvrši. Dodan u crontab, pokretat će se periodički, u vremenskom intervalu koji mi postavimo. Izabrao sam taj scenarij"autostart_mysql.sh
” izvoditi svake 3 minute.
Kako dodati skriptu u crontab?
Da biste dodali skriptu u crontab za povremeno pokretanje, u vremenskom intervalu koji ste postavili, pokrenite naredbu: crontab -e
, zatim dodajte naredbeni redak na kraj datoteke.
*/3 * * * * /usr/local/bin/autostart_mysql.sh
*/3
navodi da će se skripta izvršavati svake 3 minute.
Spremite crontab i izađite iz uređivača.
Nakon ovog koraka provjerite uslugu mysqld
to će se raditi svake 3 minute, a ako se usluga zaustavi, automatski će se pokrenuti.
Ako trebate pomoć ili druga pojašnjenja, rado ćemo odgovoriti na vaše komentare.