Come avviare automaticamente MySQL se si interrompe? [Linux]

Quando si gestiscono server Linux con basi di dati, l'interruzione inaspettata del servizio mysqld per varie ragioni non è una situazione piacevole. In questo tutorial imparerai come avviare automaticamente MySQL se si interrompe per qualsiasi motivo, con l'aiuto di uno script e del crontab.

Per motivi sconosciuti, a volte il demone mysqld si interrompe improvvisamente senza riavviarsi automaticamente a determinate ore. Poiché i registri del server non mi hanno aiutato molto, ho cercato una soluzione per verificare se il servizio mysqld è in esecuzione e, nel caso in cui non lo fosse, avviarlo tramite crontab.

Come avviare automaticamente MySQL se si interrompe? [Linux]

Nei server MySQL con MariaDB, normalmente il servizio mysqld dovrebbe riavviarsi automaticamente quando si interrompe per varie ragioni. Se ciò non accade, lo script di seguito verificherà periodicamente se il demone mysqld è in esecuzione e ti aiuterà ad avviare automaticamente MySQL se è interrotto.

Il mio test è stato eseguito sul sistema operativo Debian 12, MariaDB 10.11.4.

1. Apri la console e crea il file per lo script futuro che avvierà il servizio mysqld se viene arrestato.

Preferisco usare l'editor "nano".

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

2. Nel nuovo file “autostart_mysql.sh"copia lo script seguente:

#!/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. Salva il nuovo file “autostart_mysql.sh“, quindi impostare i permessi di esecuzione.

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

4. Passare a "/usr/local/bin/" e prova lo script con il comando: "./autostart_mysql.sh".

Come avviare automaticamente MySQL se si interrompe? [Linux]
Servizio MySQL con avvio automatico

In questo momento, lo script da cui stai iniziando MySQL verrà eseguito automaticamente solo se eseguito manualmente. Aggiunto al crontab, verrà eseguito periodicamente, ad un intervallo di tempo da noi impostato. Ho scelto quella sceneggiatura"autostart_mysql.sh” da eseguire ogni 3 minuti.

Come aggiungere uno script al crontab?

Per aggiungere uno script al crontab da eseguire periodicamente, ad un intervallo di tempo da te impostato, esegui il comando: crontab -e, quindi aggiungi la riga di comando alla fine del file.

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

*/3 specifica che lo script verrà eseguito ogni 3 minuti.

Salva il crontab ed esci dall'editor.

Dopo questo passaggio, controlla il servizio mysqld verrà eseguita ogni 3 minuti e, se il servizio viene interrotto, verrà avviato automaticamente.

Se hai bisogno di aiuto o altri chiarimenti, siamo felici di rispondere ai tuoi commenti.

Appassionato di tecnologia, scrivo con piacere su StealthSettings.com dal 2006. Ho un'ampia esperienza nei sistemi operativi: macOS, Windows e Linux, nonché nei linguaggi di programmazione e nelle piattaforme di blogging (WordPress) e per i negozi online (WooCommerce, Magento, PrestaShop).

Come » Linux » MySQL » Come avviare automaticamente MySQL se si interrompe? [Linux]
Lascia un tuo commento