När du har Linux -servrar med baser i administration är det inte en trevlig incident att stoppa av olika skäl för MySQLD. I den här tutorialen lär du dig att starta MySQL automatiskt om det stannar av någon anledning, med hjälp av ett manus och CRONTAB.
innehåll
Jag vet inte vilka skäl för vissa timmar, MySQld -demonen stannar plötsligt utan att automatiskt starta om. Eftersom serverloggarna inte hjälpte mig mycket, sökte jag efter en lösning för att kontrollera att MySQLD -tjänsten körs, och om den inte är aktiv kommer det att startas genom en contab.
Hur startar jag MySQL automatiskt om det stannar? [Linux]
På MySQL -servrar med MADIADB bör MySQLD -tjänsten normalt automatiskt starta om när den stannar av olika skäl. Om detta inte händer kommer skriptet nedan att kontrollera regelbundet om Daemon MySQLD kör och hjälper dig att starta MySQL om det stoppas.
Mitt test görs på operativsystemet Debian 12, MariaDB 10.11.4.
1. Öppnar konsolen och skapar tonhöjden för det framtida skriptet som kommer att starta MySQLD om det stoppas.
Jag föredrar att använda Editor “nano“.
sudo nano /usr/local/bin/autostart_mysql.sh
2. I den nya filen “autostart_mysql.sh” Kopierar skriptet nedan:
#!/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. Spara den nya filen “autostart_mysql.sh“Ställ sedan in körningstillstånd.
chmod +x /usr/local/bin/autostart_mysql.sh
4. Navigera i “/usr/local/bin/” och testa skriptoperationen efter beställning: “./autostart_mysql.sh“.
![Hur startar jag MySQL automatiskt om det stannar? [Linux]](https://stealthsettings.com/wp-content/uploads/2023/11/Autostart-mysql-service.webp)
Just nu, skriptet genom vilket du börjar Mysql Automatiskt körs endast när du körs manuellt. Tillagd i CRONTAB kommer det att köras regelbundet, vid en tidsperiod som har fastställts av oss. Jag har valt som manus “autostart_mysql.sh” rullas var tredje minut.
Hur lägger du till ett skript till Contab?
För att lägga till ett skript till CRONTAB för att köra regelbundet, vid en tidsperiod som du ställer in, kör beställningen: crontab -eLägg sedan till kommandoraden i slutet av filen.
*/3 * * * * /usr/local/bin/autostart_mysql.sh
*/3 Anger att skriptet kommer att köras var tredje minut.
Du sparar CRONTAB och lämnar förläggaren.
Efter detta steg, kontrollera tjänsten mysqld Det kommer att göras var tredje minut, och om tjänsten stoppas startas den automatiskt.
Om du behöver hjälp eller andra förtydliganden svarar vi gärna på kommentarerna.