Amikor Linux szervereket kezel adatbázisokkal, a mysqld szolgáltatás váratlan leállása különböző okokból nem kellemes helyzet. Ebben a kézikönyvben megtanulhatja, hogyan indítsa el az MySQL-t automatikusan, ha bármilyen okból leáll, egy script és a crontab segítségével.
Ismeretlen okokból néha a mysqld démon hirtelen leáll anélkül, hogy automatikusan újraindulna bizonyos órákban. Mivel a szerver naplói nem sokat segítettek, megkerestem a megoldást, hogy ellenőrizzem, fut-e a mysqld szolgáltatás, és ha nem aktív, akkor indítsam el a crontab segítségével.
Tartalom
Hogyan indítsuk el az MySQL-t automatikusan, ha leáll? [Linux]
A MySQL szervereket MariaDB-vel általában újra kellene indítaniuk a mysqld szolgáltatást automatikusan, ha bármilyen okból leáll. Ha ez nem történik meg, az alábbi script rendszeresen ellenőrzi, hogy fut-e a mysqld démon, és segít automatikusan elindítani az MySQL-t, ha leállt.
A tesztem OS-en történik Debian 12, MariaDB 10.11.4.
1. Nyissa meg a konzolt, és hozza létre a fájlt a jövőbeli szkript számára, amely elindítja a mysqld szolgáltatást, ha leállítja.
Inkább a szerkesztőt használom"nano
".
sudo nano /usr/local/bin/autostart_mysql.sh
2. Az új fájlban "autostart_mysql.sh
” másold ki az alábbi 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
3. Mentse el az új fájlt "autostart_mysql.sh
", majd állítsa be a végrehajtási engedélyeket.
chmod +x /usr/local/bin/autostart_mysql.sh
4. Navigáljon a „/usr/local/bin/
", és tesztelje a szkriptet a következő paranccsal: "./autostart_mysql.sh
".
Jelenleg a forgatókönyv, amiből kiindulsz MySQL automatikusan csak kézi végrehajtás esetén fut le. A crontabhoz hozzáadva időszakosan, az általunk beállított időközönként fog futni. Azt a forgatókönyvet választottam"autostart_mysql.sh
” 3 percenként lefutandó.
Hogyan lehet hozzáadni egy scriptet a crontab-hoz?
Ha egy szkriptet szeretne hozzáadni a crontabhoz, amely időszakonként, az Ön által beállított időközönként fut, futtassa a következő parancsot: crontab -e
, majd adja hozzá a parancssort a fájl végéhez.
*/3 * * * * /usr/local/bin/autostart_mysql.sh
*/3
meghatározza, hogy a szkript 3 percenként kerül végrehajtásra.
Mentse el a crontab-ot, és lépjen ki a szerkesztőből.
E lépés után ellenőrizze a szolgáltatást mysqld
3 percenként megtörténik, és ha a szolgáltatás leáll, akkor automatikusan elindul.
Ha segítségre vagy egyéb pontosításra van szüksége, szívesen válaszolunk észrevételeire.