Come monitorare e riavviare automaticamente mysql?

Sto eseguendo mysql su Debian.

C'è un modo per monitorare mysql e riavviarlo automaticamente se si blocca? Ad esempio a volte il server inizia a prendere il 100% della CPU e inizia a funzionare molto lentamente. Se riavvii mysql, le cose vengono chiuse e il server inizia a funzionare bene, ma non sono sempre presente per riavviarlo manualmente.

C'è un modo per monitorare mysql e se la CPU è superiore al 95% per più di 10 minuti dritto allora mysql verrà automaticamente riavviato

  • Accidenti mi sono bloccato da MySQL cambiando l'host
  • Errore di replica di MySQL: Error_code: 1032
  • MySQL Master-Master Replica di tutti i database. Come?
  • Keepalived bilanciamento del carico MySQL. Timeout del server di backup
  • Non è ansible arrestare mysql, anche dopo aver ucciso il process
  • Come calcolare la dimensione di un'istanza RDS AWS da un dump di MySQL?
  • Postfix aggiunge l'intestazione personalizzata basata sul risultato di MySQL
  • Login di GUI di Ubuntu MySQL con certificato / chiave
  • 3 Solutions collect form web for “Come monitorare e riavviare automaticamente mysql?”

    Puoi farlo con monit . Ad esempio, per avvisare e riavviare mysql, supponendo di eseguire il monito in un ciclo di 60 secondi:

     check process mysqld with pidfile /var/run/mysqld.pid if cpu usage > 99% for 10 cycles then alert if cpu usage > 99% for 10 cycles then restart 

    il monit è molto flessibile e può fare praticamente qualsiasi tipo di monitoraggio di processi, memory, ecc. si può pensare.

    Questo potrebbe probabilmente essere fatto anche con ps-watcher , ma è difficile fare ps-watcher ricordare questo tipo di stato e agire su di esso. monit è lo strumento giusto da utilizzare.

    Credo che stai cercando e il Auto Nice Daemon .

    Assegnando Francisco, ti consiglierei di non riavviare MySQL in questo modo. Perché:

    1. Lo spike della CPU indica l'attività, il che significa che riavviarlo sarebbe praticamente tutto ciò che funziona il DB sta facendo.
    2. Utilizzando una CPU fino al 100% non è una cosa negativa, è questo il potere di calcolo di esso 🙂 Infatti, si potrebbe guardare piuttosto il carico del server più dell'utilizzo della CPU in% che non dare qualsiasi indicazione su qualcosa che va male.
    3. A seconda del motore utilizzato, la transazione fallita potrebbe non essere riprodotta al riavvio, il che significa che perderai alcuni di essi.

    Con questo essere detto, alcune cose che puoi cercare:

    1. MySQL è "ben" configurato per il server; come in, ha abbastanza spazio per la dimensione del database e le operazioni che gestisce?
    2. Ci sono altri servizi che causano questo carico, in caso affermativo, perché è questo?
    3. Infine, se questo "rallenta" l'esecuzione di altri servizi sul server, si dovrebbe considerare il riequilibrio delle risorse per servizio, in modo che la capacità di calcolo del server sia condivisa in tutti i servizi.
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.