2008-08-29 9 views
2

Ich habe Schwierigkeiten, meinen Replikationsserver einzurichten. Gibt es ein Programm (OS X, Win, Linux oder PHP kein Problem), mit dem ich Replikationsprobleme überwachen und lösen kann? (Btw, für diejenigen -uhm- folgenden ive zu diesem Thema here, here, here und here. Entweder ich werde dies über den falschen Weg oder ich muss ungeheuer dick sein)mysql software: irgendwelche Vorschläge, um meinen mysql Replikationsserver zu beaufsichtigen?

Meine Produktionsdatenbank mehrere megs in Größe und Wachstum. Jedes Mal, wenn die Datenbankreplikation stoppt und die Datenbanken unausweichlich aus dem Takt geraten, zittere ich. Meine letzte Resync von Dump dauerte fast 4 Stunden hin und zurück!

Wie immer, auch nach sync, ich laufe in diese Art von show-stopping Fehlern ":

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

Ich würde es lieben, wenn es eine Möglichkeit ist genau zu beobachten, was los ist und vielleicht die Software lassen . abkommen mit ihm bin ich auch ganz Ohr für Dienstleistungsunternehmen, die mich besser meine Daten überwachen kann helfen, oder eine alternative Art und Weise zusammen zu spiegeln

bearbeiten:.. geht durch meine früheren Fragen fand ich this die enorm hilft. Ich bin immer noch auf der Überwachungslösung.

prost,

/mp

Antwort

3

die Server überwachen wir die freie tools from Maatkit ... einfach bedienen, aber effizient.

Die binäre Replikation ist in 5.1 verfügbar, also denke ich, dass Sie einige Bälle haben. Wir verwenden immer noch 5.0 und es funktioniert OK, aber natürlich hatten wir unseren Teil der Probleme damit.

Wir verwenden einen Master-Master-Replikation mit einem MySql Proxy als Lastenausgleich vor, und es aus, die Fehler zu vermeiden:

  • wir alle eindeutigen Indizes entfernt
  • für die wenigen Fälle, in denen wir brauchten wirklich einzigartige Einschränkungen, wir haben REPLACE anstelle von INSERT verwendet (MySql Proxy kann verwendet werden, um die korrekte Verwendung zu schützen ... es kann sogar Ihre Abfragen umschreiben)
  • geplante Skripte, die intensive Berichte ausführen, greifen immer auf denselben Server zu (nicht der Load-Balancer) ... damit gefährliche Operationen sicher repliziert werden

Ja, ich weiß, es klingt einfach und dumm, aber es löste 95% aller Probleme, die wir hatten.

0

Wir verwenden die mysql-Replikation, um Daten auf fast 30 Server zu replizieren. Wir überwachen sie mit Nagios. Sie können wahrscheinlich den Replikationsstatus überprüfen und einen Ereignishandler verwenden, um ihn mit 'SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; Start Slave; '. Das wird den Fehler beheben, aber Sie verlieren die Einfügung, die den Fehler verursachte.

Über den Fehler, verwenden Sie Speichertabellen auf Ihren Slaves? Ich frage dies, weil das einzige Mal, dass wir viele dieser Fehler bekommen haben, sie durch einen Fehler in den letzten Releases von mysql verursacht wurden. 'Aus Tabelle löschen, wobei Feld = Wert' löscht nur eine Zeile in Speichertabellen, obwohl sie mehrere Zeilen enthalten.

mysql bug descritpion

Verwandte Themen