software mysql:qualche suggerimento per supervisionare il mio server di replica MySQL?

StackOverflow https://stackoverflow.com/questions/35420

  •  09-06-2019
  •  | 
  •  

Domanda

Ho avuto difficoltà a configurare il mio server di replica.Esiste un programma (OS X, Win, Linux o php nessun problema) che mi consente di monitorare e risolvere i problemi di replica?(a proposito, per quelli che -uhm- seguono, ho già trattato questo argomento Qui, Qui, Qui E Qui.O sto andando nel modo sbagliato o devo essere immensamente ottuso)

Il mio database di produzione ha dimensioni di diversi mega e sta crescendo.Ogni volta che la replica del database si interrompe e i database inevitabilmente iniziano a perdere la sincronizzazione, rabbrividisco.La mia ultima risincronizzazione dal dump ha richiesto quasi 4 ore di andata e ritorno!

Come sempre, anche dopo la sincronizzazione, mi imbatto in questo tipo di errore che interrompe lo spettacolo":

Error 'Duplicate entry '252440' for key 1' on query.

Mi piacerebbe se ci fosse un modo per monitorare da vicino cosa sta succedendo e magari lasciare che sia il software a gestirlo.Sono anche attento alle società di servizi che potrebbero aiutarmi a monitorare meglio i miei dati.O un modo alternativo per specchiarsi del tutto.

Modificare:esaminando le mie domande precedenti ho trovato Questo il che aiuta moltissimo.Sono ancora tutto concentrato sulla soluzione di monitoraggio.

saluti,

/mp

È stato utile?

Soluzione

Per monitorare i server utilizziamo il servizio gratuito strumenti di Maatkit ...semplice ma efficiente.

La replica binaria è disponibile nella versione 5.1, quindi immagino che tu abbia le palle.Utilizziamo ancora la versione 5.0 e funziona bene, ma ovviamente abbiamo avuto la nostra parte di problemi.

Utilizziamo una replica Master-Master con un proxy MySql come bilanciatore del carico in primo piano e per evitare che si verifichino errori:

  • abbiamo rimosso tutti gli indici univoci
  • per i pochi casi in cui avevamo davvero bisogno di vincoli univoci, ci siamo assicurati di utilizzare REPLACE anziché INSERT (MySql Proxy può essere utilizzato per proteggerne l'utilizzo corretto...può persino riscrivere le tue query)
  • gli script pianificati che eseguono report intensivi accedono sempre allo stesso server (non al bilanciatore del carico) ...in modo che le operazioni pericolose vengano replicate in sicurezza

Sì, lo so, sembra semplice e stupido, ma ha risolto il 95% di tutti i problemi che abbiamo avuto.

Altri suggerimenti

Usiamo la replica mysql per replicare i dati su quasi 30 server.Li monitoriamo con i nagios.Probabilmente puoi controllare lo stato della replica e utilizzare un gestore eventi per riavviarlo con 'SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;Avvia schiavo;'.Ciò risolverà l'errore, ma perderai l'inserto che ha causato l'errore.

Riguardo all'errore, usi tabelle di memoria sui tuoi slave?Lo chiedo perché l'unica volta in cui abbiamo riscontrato molti di questi errori erano causati da un bug nelle ultime versioni di mysql.'Elimina dalla tabella dove campo = valore' eliminerà solo una riga nelle tabelle di memoria anche se contengono più righe.

Descrizione del bug mysql

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top