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.
Soddisfare
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
".
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.