Hoe MySQL automatisch starten als het stopt? [Linux]

Wanneer je Linux-servers beheert met databases, is het onverwacht stoppen van de mysqld-service om verschillende redenen geen prettige situatie. In deze tutorial leer je hoe je MySQL automatisch kunt starten als het om welke reden dan ook stopt, met behulp van een script en de crontab.

Om onbekende redenen stopt de mysqld-daemon soms plotseling zonder automatisch opnieuw te starten op bepaalde tijdstippen. Omdat de serverlogs me niet veel hebben geholpen, zocht ik naar een oplossing om te controleren of de mysqld-service wordt uitgevoerd, en als dat niet het geval is, deze te starten via een crontab.

Hoe MySQL automatisch starten als het stopt? [Linux]

Op MySQL-servers met MariaDB zou de mysqld-service normaal gesproken automatisch moeten herstarten wanneer deze om verschillende redenen stopt. Als dat niet gebeurt, controleert het onderstaande script periodiek of de mysqld-daemon actief is en helpt je MySQL automatisch te starten als deze is gestopt.

Mijn test is gedaan op OS Debian 12, MariaDB 10.11.4.

1. Open de console en maak het bestand voor het toekomstige script dat de mysqld-service zal starten als deze wordt gestopt.

Ik gebruik liever de editor "nano'.

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

2. In het nieuwe bestand “autostart_mysql.shKopieer het onderstaande 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

3. Sla het nieuwe bestand op “autostart_mysql.sh“, Stel vervolgens de uitvoeringsrechten in.

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

4. Navigeer naar “/usr/local/bin/' en test het script met het commando: './autostart_mysql.sh'.

Hoe MySQL automatisch starten als het stopt? [Linux]
MySQL-service automatisch starten

Op dit moment het script waar je mee begint MySQL wordt automatisch alleen uitgevoerd als het handmatig wordt uitgevoerd. Toegevoegd aan de crontab, zal deze periodiek worden uitgevoerd, met een door ons ingesteld tijdsinterval. Ik heb ervoor gekozen dat het script "autostart_mysql.sh'wordt elke 3 minuten uitgevoerd.

Hoe voeg je een script toe aan de crontab?

Om een ​​script aan de crontab toe te voegen dat periodiek wordt uitgevoerd, met een door u ingesteld tijdsinterval, voert u de opdracht uit: crontab -een voeg vervolgens de opdrachtregel toe aan het einde van het bestand.

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

*/3 geeft aan dat het script elke 3 minuten wordt uitgevoerd.

Sla de crontab op en sluit de editor af.

Controleer na deze stap de service mysqld dit gebeurt elke 3 minuten en als de service wordt gestopt, wordt deze automatisch gestart.

Als u hulp of andere verduidelijkingen nodig heeft, beantwoorden wij graag uw opmerkingen.

Gepassioneerd door techniek schrijf ik met plezier verder StealthSettings.com sinds 2006. Ik heb uitgebreide ervaring met besturingssystemen: macOS, Windows şi Linux, maar ook in programmeertalen en blogplatforms (WordPress) en voor online winkels (WooCommerce, Magento, PrestaShop).

Hoe werkt het? » Linux » MySQL » Hoe MySQL automatisch starten als het stopt? [Linux]
Laat een bericht achter