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.

  • MySQL e PostgreSQL sullo stesso hardware
  • Imansible installare MySQL
  • Quale formato binlog da utilizzare per MySQL Replication?
  • Come sapere quale utente appartiene a cosa ip su debian
  • Certificato SSL: imansible get il certificato di emittente locale
  • mysqldump: La funzionalità 'INFORMATION_SCHEMA.SESSION_VARIABLES' è disabilitata
  • C'è un modo per monitorare mysql e se la CPU è superiore al 95% per più di 10 minuti dritto allora mysql verrà automaticamente riavviato

  • Errore durante la creazione di un ErrorDocument 404 personalizzato in apache
  • Perdere la connettività con DNS
  • nginx 502 bad gateway - fastcgi non ascoltare? (Debian 5)
  • Curl non riesce a recuperare i contenuti HTTPS
  • Scaricare e installare Debian
  • Come posso sapere se un disco non funziona in ESXi / cosa significano questi errori?
  • 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.