Hvordan starte MySQL automatisk hvis det stopper? [Linux]

Når du administrerer Linux-servere med databaser, er det uventede stoppet av mysqld-tjenesten av ulike årsaker ikke en behagelig situasjon. I denne veiledningen lærer du hvordan du kan starte MySQL automatisk hvis det stopper av en eller annen grunn, ved hjelp av et skript og crontab.

Av ukjente årsaker stopper noen ganger mysqld-demonen brått uten å starte automatisk på visse tidspunkter. Siden serverloggene ikke har hjulpet meg mye, søkte jeg etter en løsning for å sjekke om mysqld-tjenesten kjører, og i tilfelle den ikke er aktiv, starte den via crontab.

Hvordan starte MySQL automatisk hvis det stopper? [Linux]

På MySQL-servere med MariaDB burde mysqld-tjenesten normalt sett starte automatisk på nytt når den stopper av ulike årsaker. Hvis dette ikke skjer, vil skriptet nedenfor periodisk sjekke om mysqld-demonen kjører og hjelpe deg med å starte MySQL automatisk hvis den er stoppet.

Testen min er utført på OS Debian 12, MariaDB 10.11.4.

1. Åpne konsollen og lag filen for det fremtidige skriptet som vil starte mysqld-tjenesten hvis den stoppes.

Jeg foretrekker å bruke editor "nano".

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

2. I den nye filen "autostart_mysql.sh" kopier skriptet nedenfor:

#!/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. Lagre den nye filen "autostart_mysql.sh", sett deretter kjøretillatelser.

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

4. Naviger til "/usr/local/bin/" og test skriptet med kommando: "./autostart_mysql.sh".

Hvordan starte MySQL automatisk hvis det stopper? [Linux]
Autostart mysql-tjenesten

Akkurat nå, skriptet du starter fra MySQL automatisk vil bare kjøre når den utføres manuelt. Lagt til crontab, vil den kjøre med jevne mellomrom, med et tidsintervall angitt av oss. Jeg valgte at manuset "autostart_mysql.sh” skal kjøres hvert 3. minutt.

Hvordan legge til et skript i crontab?

For å legge til et skript til crontab for å kjøre med jevne mellomrom, med et tidsintervall angitt av deg, kjør kommandoen: crontab -e, og legg deretter til kommandolinjen på slutten av filen.

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

*/3 spesifiserer at skriptet skal kjøres hvert 3. minutt.

Lagre crontab og gå ut av redigeringsprogrammet.

Etter dette trinnet, sjekk tjenesten mysqld det vil bli gjort hvert 3. minutt, og hvis tjenesten stoppes, vil den startes automatisk.

Trenger du hjelp eller andre avklaringer, svarer vi gjerne på dine kommentarer.

Teknologiinteressert, jeg skriver med glede på StealthSettings.com siden 2006. Jeg har bred erfaring med operativsystemer: macOS, Windows og Linux, samt programmeringsspråk og bloggplattformer (WordPress) og for nettbutikker (WooCommerce, Magento, PrestaShop).

Hvordan » Linux » MySQL » Hvordan starte MySQL automatisk hvis det stopper? [Linux]
Legg igjen en kommentar