Tuttavia, a volte il server MySQL si interrompe a causa di errori o errata configurazione. Questa guida ti mostrerà come controllare lo stato del server MySQL e avviarlo se è giù. Implementeremo concetti come SystemD, Crrontab e Bash Scripting per eseguire tale azione.
Prerequisiti
Prima di iniziare, assicurati di avere:
Una volta che abbiamo i requisiti di cui sopra, possiamo iniziare.
Controlla lo stato mysql - SystemD
Il primo metodo su cui ci concentreremo prima di coprire come creare uno script è utilizzare SystemD Manager.
SystemD è un potente sistema di sistema Linux INIT e Service Manager che consente l'avvio, le fermate e monitora gli stati di demoni e servizi. Offre inoltre funzionalità come l'utilizzo di registrazione e monitoraggio, ecc. Pertanto, è uno strumento comune per gli amministratori di sistema.
Per utilizzare SystemD per verificare il servizio MySQL, utilizzare il comando come:
$ sudo systemctl avvia mysql.servizioUna volta eseguito il comando sopra, SystemD avvia il servizio supponendo che non si esegue in alcun errore. Per verificare lo stato del servizio, utilizzare il comando:
$ sudo systemctl avvia mysql.servizioQuesto ti darà l'output di seguito che mostra che il servizio è in esecuzione.
Controlla lo stato di mysql - mysqladmin
Possiamo anche usare uno strumento come MySqladmin. Un'utilità di linea di comando di amministrazione MySQL Server per verificare lo stato del server MySQL.
Usa il comando come:
$ mysqladmin -u root -p statoSe il server MySQL è attivo e in esecuzione, otterrai l'output come mostrato di seguito:
Uptime: 35 thread: 1 Domande: 4 query lente: 0 Apre: 103 Tabelle a filo: 3 Tabelle aperte: 24 query al secondo AVG: 0.114Script Bash
Con le informazioni che abbiamo dei due metodi discussi sopra, possiamo implementare uno script bash abbastanza semplice per verificare se il servizio è in esecuzione e avviarlo se non lo è.
Passaggio 1: verificare se il servizio è in esecuzione
La prima cosa che il nostro script dovrebbe fare è verificare se il servizio è in esecuzione; Possiamo ottenere questo dall'output da SystemD come:
Passaggio 2: reindirizzare l'errore standard all'output standard
Una volta che abbiamo grep per lo stato del servizio, possiamo reindirizzare l'EOF a /dev /null e un descrittore di file come:
Passaggio 3: ottieni il valore di restituzione
Nel passaggio successivo, controlliamo il valore di restituzione dal comando sopra utilizzando $?
Come mostrato:
Se [$? != 0]Passaggio 4: metterlo insieme
Ora che abbiamo la funzionalità della sceneggiatura tutte disposte, possiamo mettere insieme lo script come:
Ora salva lo script e rendilo eseguibile
$ sudo chmod 755 mysql_checker.shPassaggio 5: Dillo a Cron
E l'ultimo passo per noi è far conoscere Cron del nostro script e gestirlo automaticamente.
Possiamo farlo usando il comando:
$ sudo crontab -eImmettere le seguenti righe.
*/5 * * * */home/ubuntu/mysql_checker.shCiò consentirà a Cron di eseguire lo script ogni 5 minuti e avviare il servizio.
Conclusione
In questo tutorial, abbiamo usato SystemD per verificare lo stato di MySQL e riavviarlo. Abbiamo anche implementato uno script bash e Cron per controllare automaticamente il processo di controllo e riavvio.
Come al solito, grazie per la lettura e le conchiglie felici.