Når du administrerer Linux-databaseservere, kan den uventede nedleggelsen av mysqld-tjenesten forårsake betydelige ulemper. I denne opplæringen vil du se hvordan du automatiserer start av MySQL hvis den stopper av forskjellige grunner ved hjelp av et skript og crontab.
Av uklare årsaker kan mysqld-demonen stoppe plutselig og ikke starte på nytt automatisk i visse situasjoner eller tider. Siden serverloggfilene ikke gir nyttig informasjon i denne forbindelse, så jeg etter en løsning for å overvåke statusen til mysqld-tjenesten. I en situasjon hvor den ikke er aktiv, bør den automatiske omstarten startes ved hjelp av en cronjob.
La oss se trinnvis veiledning for å løse dette problemet. (testet på Linux Debian 12)
Hvordan automatisere start av MySQL hvis den stopper
Det første trinnet er å lage skriptet som vil starte mysqld-tjenesten på nytt hvis den stoppes.
1. Åpne et tekstredigeringsprogram (som f.eks nano
eller vi
) og kopier skriptet nedenfor til en ny fil. Du kan for eksempel bruke:
nano /path/to/your/script.sh
Kopier skriptet:
#!/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
Lagre og lukk tekstredigeringsprogrammet.
2. Gi utføringsrettigheter til skriptet for å sikre at det kan kjøres:
chmod +x /path/to/your/script.sh
3. Legg til skriptet nedenfor til crontab (kommando: crontab -e
lar deg redigere):
*/3 * * * * /path/to/your/script.sh
Linjen ovenfor spesifiserer at skriptet kjøres hvert 3. minutt. symbol */3
betyr "hvert tredje minutt". I utgangspunktet, med denne linjen automatiserer du å starte MySQL med script.sh
.
4. Lagre og lukk filen crontab.
Nå, manuset ditt script.sh
kjøres automatisk hvert 3. minutt for å sjekke servicestatus mysqld
og start den på nytt om nødvendig.
Hvis noe går galt og du trenger hjelp, svarer vi gjerne på dine kommentarer.