A Linux adatbázis-kiszolgálók kezelése során a mysqld szolgáltatás váratlan leállása jelentős kellemetlenségeket okozhat. Ebben az oktatóanyagban megtudhatja, hogyan automatizálhatja a MySQL elindítását, ha az különböző okok miatt leáll egy szkript és crontab használatával.
Tisztázatlan okokból előfordulhat, hogy a mysqld démon hirtelen leáll, és bizonyos helyzetekben vagy időpontokban nem indul újra automatikusan. Mivel a szerver naplófájljai ebből a szempontból nem adnak hasznos információkat, megoldást kerestem a mysqld szolgáltatás állapotának figyelésére. Így abban az esetben, ha nem aktív, az automatikus újraindítást egy cronjob segítségével kell elindítani.
Lássuk a lépésről lépésre bemutatott útmutatót a probléma megoldásához. (Tesztelve Linux Debian 12)
Hogyan lehet automatizálni a MySQL indítását, ha leáll
Az első lépés a szkript létrehozása, amely újraindítja a mysqld szolgáltatást, ha leállítják.
1. Nyisson meg egy szövegszerkesztőt (pl nano
vagy vi
), és másolja át az alábbi szkriptet egy új fájlba. Például használhatja:
nano /path/to/your/script.sh
Másold ki a szkriptet:
#!/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
Mentse el és zárja be a szövegszerkesztőt.
2. Adjon végrehajtási jogokat a szkriptnek, hogy biztosan futhasson:
chmod +x /path/to/your/script.sh
3. Adja hozzá az alábbi szkriptet a crontab (parancs: crontab -e
szerkesztést tesz lehetővé):
*/3 * * * * /path/to/your/script.sh
A fenti sor azt határozza meg, hogy a szkript 3 percenként lefut. szimbólum */3
azt jelenti, hogy "3 percenként". Alapvetően ezzel a sorral automatizálod a MySQL elindítását script.sh
.
4. Mentse el és zárja be a fájlt crontab.
Most a forgatókönyved script.sh
3 percenként automatikusan lefut a szerviz állapotának ellenőrzésére mysqld
és szükség esetén indítsa újra.
Ha valami elromlik, és segítségre van szüksége, szívesen válaszolunk megjegyzéseire.