Bij het beheren van Linux-databaseservers kan het onverwacht afsluiten van de mysqld-service voor aanzienlijk ongemak zorgen. In deze tutorial ziet u hoe u het starten van MySQL kunt automatiseren als het om verschillende redenen stopt met behulp van een script en crontab.
Om onduidelijke redenen kan de mysqld-daemon in bepaalde situaties of tijden plotseling stoppen en niet automatisch opnieuw opstarten. Omdat de serverlogbestanden hierover geen bruikbare informatie bieden, heb ik gezocht naar een oplossing om de status van de mysqld-service te monitoren. Dus in de situatie waarin het niet actief is, moet de automatische herstart worden gestart door middel van een cronjob.
Laten we de stapsgewijze zelfstudie bekijken om dit probleem op te lossen. (Getest op Linux Debian 12)
Hoe u het starten van MySQL kunt automatiseren als het stopt
De eerste stap is het maken van het script dat de mysqld-service opnieuw start als deze wordt gestopt.
1. Open een teksteditor (zoals nano
of vi
) en kopieer het onderstaande script naar een nieuw bestand. U kunt bijvoorbeeld het volgende gebruiken:
nano /path/to/your/script.sh
Kopieer het script:
#!/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
Bewaar en sluit de teksteditor.
2. Geef uitvoeringsrechten aan het script om ervoor te zorgen dat het kan worden uitgevoerd:
chmod +x /path/to/your/script.sh
3. Voeg het onderstaande script toe aan het crontab (commando: crontab -e
kunt u bewerken):
*/3 * * * * /path/to/your/script.sh
De bovenstaande regel geeft aan dat het script elke 3 minuten wordt uitgevoerd. symbool */3
betekent "elke 3 minuten". Kortom, met deze regel automatiseert u het starten van MySQL script.sh
.
4. Sla het bestand op en sluit het crontab.
Nu, jouw script script.sh
wordt elke 3 minuten automatisch uitgevoerd om de servicestatus te controleren mysqld
en start het indien nodig opnieuw op.
Als er iets misgaat en u hulp nodig heeft, beantwoorden wij graag uw opmerkingen.