Når du administrerer Linux-databaseservere, kan den uventede nedlukning af mysqld-tjenesten forårsage betydelige gener. I denne tutorial vil du se, hvordan du automatiserer start af MySQL, hvis den stopper af forskellige årsager ved hjælp af et script og crontab.
Af uklare årsager kan mysqld-dæmonen stoppe pludseligt og ikke genstarte automatisk i visse situationer eller tidspunkter. Da serverlogfilerne ikke giver nyttige oplysninger i denne henseende, ledte jeg efter en løsning til at overvåge status for mysqld-tjenesten. I den situation, hvor den ikke er aktiv, bør den automatiske genstart startes ved hjælp af et cronjob.
Lad os se trin for trin tutorial for at løse dette problem. (testet på Linux Debian 12)
Sådan automatiseres start af MySQL, hvis det stopper
Det første trin er at oprette scriptet, der genstarter mysqld-tjenesten, hvis det stoppes.
1. Åbn en teksteditor (f.eks nano
eller vi
) og kopier scriptet nedenfor til en ny fil. Du kan for eksempel bruge:
nano /path/to/your/script.sh
Kopier scriptet:
#!/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
Gem og luk teksteditoren.
2. Giv eksekveringsrettigheder til scriptet for at sikre, at det kan køres:
chmod +x /path/to/your/script.sh
3. Tilføj scriptet nedenfor til crontab (kommando: crontab -e
giver dig mulighed for at redigere):
*/3 * * * * /path/to/your/script.sh
Ovenstående linje angiver, at scriptet køres hvert 3. minut. symbol */3
betyder "hvert 3. minut". Grundlæggende automatiserer du med denne linje at starte MySQL med script.sh
.
4. Gem og luk filen crontab.
Nu dit manuskript script.sh
køres automatisk hvert 3. minut for at kontrollere servicestatus mysqld
og genstart den om nødvendigt.
Hvis noget går galt, og du har brug for hjælp, svarer vi gerne på dine kommentarer.