Jak automaticky spustit MySQL, pokud se zastaví? [Linux]

Když spravujete Linuxové servery s databázemi, neočekávané zastavení služby mysqld z různých důvodů není příjemná situace. V tomto průvodci se dozvíte, jak automaticky spustit MySQL, pokud se z nějakého důvodu zastaví, pomocí skriptu a crontabu.

Z neznámých důvodů se někdy démon mysqld náhle zastaví, aniž by se automaticky znovu spustil v určitých hodinách. Protože mi záznamy serveru moc nepomohly, hledal jsem řešení, jak zkontrolovat, zda služba mysqld běží, a v případě neaktivity ji znovu spustit pomocí crontabu.

Jak automaticky spustit MySQL, pokud se zastaví? [Linux]

Na MySQL serverech s MariaDB by se služba mysqld obvykle měla automaticky znovu spustit, když se zastaví z různých důvodů. Pokud se to nestane, níže uvedený skript pravidelně zkontroluje, zda démon mysqld běží, a pomůže vám automaticky spustit MySQL, pokud je zastavený.

Můj test se provádí na OS Debian 12, MariaDB 10.11.4.

1. Otevřete konzolu a vytvořte soubor pro budoucí skript, který spustí službu mysqld, pokud je zastavena.

Raději používám editor"nano".

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

2. V novém souboru “autostart_mysql.sh“ zkopírujte níže uvedený skript:

#!/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. Uložte nový soubor “autostart_mysql.sh“, poté nastavte oprávnění ke spuštění.

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

4. Přejděte na „/usr/local/bin/“ a otestujte skript příkazem: „./autostart_mysql.sh".

Jak automaticky spustit MySQL, pokud se zastaví? [Linux]
Automatické spuštění služby mysql

Právě teď, skript, ze kterého začínáte MySQL automaticky se spustí pouze při ručním spuštění. Po přidání do crontabu se bude spouštět pravidelně v námi nastaveném časovém intervalu. Vybral jsem si scénář"autostart_mysql.sh“, který se spustí každé 3 minuty.

Jak přidat skript do crontabu?

Chcete-li přidat skript do crontab, aby se spouštěl pravidelně, ve vámi nastaveném časovém intervalu, spusťte příkaz: crontab -ea poté přidejte příkazový řádek na konec souboru.

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

*/3 určuje, že skript bude spuštěn každé 3 minuty.

Uložte crontab a ukončete editor.

Po tomto kroku zkontrolujte službu mysqld bude se to provádět každé 3 minuty a pokud je služba zastavena, automaticky se spustí.

Pokud potřebujete pomoc nebo jiná vysvětlení, rádi odpovíme na vaše komentáře.

Věnovaný technologiím, s radostí píši na StealthSettings.com od roku 2006. Mám bohaté zkušenosti s operačními systémy: macOS, Windows a Linux, stejně jako s programovacími jazyky a platformami pro blogování (WordPress) a pro online obchody (WooCommerce, Magento, PrestaShop).

jak na to » Linux » MySQL » Jak automaticky spustit MySQL, pokud se zastaví? [Linux]
Zanechat komentář