MySQL-Software:Irgendwelche Vorschläge zur Überwachung meines MySQL-Replikationsservers?

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

  •  09-06-2019
  •  | 
  •  

Frage

Es fiel mir schwer, meinen Replikationsserver einzurichten.Gibt es ein Programm (OS X, Win, Linux oder PHP kein Problem), mit dem ich Replikationsprobleme überwachen und beheben kann?(Übrigens, für diejenigen, die -ähm- folgen, ich habe mich mit diesem Thema beschäftigt Hier, Hier, Hier Und Hier.Entweder mache ich das falsch, oder ich muss sehr dick sein)

Meine Produktionsdatenbank ist mehrere Megabyte groß und wächst.Jedes Mal, wenn die Datenbankreplikation stoppt und die Datenbanken unweigerlich aus der Synchronisierung geraten, zucke ich zusammen.Meine letzte Neusynchronisierung vom Dump dauerte fast 4 Stunden hin und zurück!

Wie immer stoße ich auch nach der Synchronisierung auf diesen atemberaubenden Fehler:

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

Ich würde es lieben, wenn es eine Möglichkeit gäbe, genau zu überwachen, was vor sich geht, und es vielleicht der Software überlassen zu können.Ich habe sogar ein offenes Ohr für Serviceunternehmen, die mir helfen können, meine Daten besser zu überwachen.Oder eine alternative Möglichkeit, alles zu spiegeln.

Bearbeiten:Als ich meine vorherigen Fragen durchging, fand ich sie Das was enorm hilft.Ich bin immer noch ganz gespannt auf die Überwachungslösung.

Prost,

/mp

War es hilfreich?

Lösung

Zur Überwachung der Server nutzen wir das kostenlose Werkzeuge von Maatkit ...einfach und doch effizient.

Die Binärreplikation ist in 5.1 verfügbar, ich schätze also, Sie haben einiges drauf.Wir verwenden immer noch 5.0 und es funktioniert einwandfrei, aber natürlich hatten wir einige Probleme damit.

Wir verwenden eine Master-Master-Replikation mit einem MySql-Proxy als Load-Balancer davor und um Fehler zu vermeiden:

  • Wir haben alle eindeutigen Indizes entfernt
  • In den wenigen Fällen, in denen wir wirklich eindeutige Einschränkungen benötigten, stellten wir sicher, dass wir REPLACE anstelle von INSERT verwendeten (MySql Proxy kann verwendet werden, um die ordnungsgemäße Verwendung zu gewährleisten ...es kann sogar Ihre Abfragen umschreiben)
  • Geplante Skripte, die intensive Berichte erstellen, greifen immer auf denselben Server zu (nicht auf den Load-Balancer) ...damit gefährliche Vorgänge sicher reproduziert werden

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

Andere Tipps

Wir verwenden MySQL-Replikation, um Daten auf fast 30 Servern zu replizieren.Wir überwachen sie mit Nagios.Sie können wahrscheinlich den Replikationsstatus überprüfen und einen Event-Handler verwenden, um ihn mit „SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;Slave starten;'.Dadurch wird der Fehler behoben, Sie verlieren jedoch die Einfügung, die den Fehler verursacht hat.

Bezüglich des Fehlers: Verwenden Sie Speichertabellen auf Ihren Slaves?Ich frage das, weil das einzige Mal, dass wir viele dieser Fehler hatten, sie durch einen Fehler in den neuesten Versionen von MySQL verursacht wurden.„Aus Tabelle löschen, in der Feld = Wert“ löscht nur eine Zeile in Speichertabellen, obwohl diese mehrere Zeilen enthalten.

Beschreibung des MySQL-Fehlers

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top