PythonQ 240-8XX Manual de usuario Pagina 339

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 768
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 338
318 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
Threads auf dem Master gekillt, wenn ein neuer Replikations-Thread sich vom selben Slave
aus verbindet.
Frage: Wie rotiere ich Replikations-Logs?
Antwort: In Version 3.23.28 sollten Sie den PURGE MASTER LOGS TO-Befehl benutzen, nach-
dem festgestellt wurde, welche Logs gel¨oscht werden onnen und nachdem sie optional
gesichert wurden. In fr¨uheren Versionen ist der Prozess sehr viel anstrengender und kann
nicht sicher durchgef¨uhrt werden, ohne alle Slaves anzuhalten, falls Sie planen, Log-Namen
wiederholt zu verwenden. Sie m¨ussen die Slave-Threads anhalten, die Bin¨ar-Log-Index-
Datei editieren, alle alten Logs oschen, den Master neu starten, die Slave-Threads neu
starten und dann die alten Log-Dateien entfernen.
Frage: Wie aktualisiere ich bei einer laufenden Replikationseinrichtung?
Antwort: Wenn Sie vor Version 3.23.26 aktualisieren, sollten Sie nur die Master-Tabellen
sperren, warten, bis die Slaves auf aktuellem Stand sind, und dann FLUSH MASTER auf dem
Master und FLUSH SLAVE auf dem Slave laufen lassen, um die Logs zur¨uckzusetzen, und
danach neue Versionen des Masters und des Slaves neu starten. Beachten Sie, dass der
Slave ur einige Zeit heruntergefahren bleiben kann - weil der Master alle Aktualisierung
loggt, wird der Slave in der Lage sein, auf den aktuellen Stand zu kommen, sobald er hoch
gefahren ist und sich verbinden kann.
Nach Version 3.23.26 wurde das Replikationsprotokoll ur
¨
Anderungen gesperrt, daher
onnen Sie Masters und Slaves im laufenden Betrieb auf eine neuere 3.23-Version aktu-
alisieren, und Sie onnen unterschiedliche Versionen von MySQL auf Slave und Master
laufen haben, solange beide neuer als Version 3.23.26 sind.
Frage: Welche Dinge sollte ich beachten, wenn ich Zweiweg-Replikation aufsetze?
Antwort: MySQL-Replikation unterst¨utzt derzeit kein Sperr-Protokoll zwischen Master und
Slave, um die Atomizit¨at einer verteilten (Cross-Server-) Aktualisierung zu gew¨ahrleisten.
Mit anderen Worten ist es f¨ur einen Client A oglich, eine Aktualisierung zu Co-Master 1
zu machen. In der Zwischenzeit, bevor er sich an Co-Master 2 wendet, onnte Client B eine
Aktualisierung auf Co-Master 2 machen, die dazu f¨uhrt, dass die Aktualisierung von Client
A anders funktioniert als auf Master 1. Wenn daher die Aktualisierung von Client A zu Co-
Master 2 durchdringt, produziert das Tabellen, die anders sein werden als die auf Co-Master
1, selbst nachdem alle Aktualisierungen von Co-Master 2 ebenfalls durchgef¨uhrt wurden.
Daher sollten sie keine zwei Server in einer Zweiweg-Replikation verketten, es sei denn, Sie
onnen sicher sein, dass Ihre Aktualisierungen immer in bestimmter Reihenfolge ablaufen,
oder indem Sie irgendwie in Ihrem Client-Code Vorkehrungen gegen Aktualisierung treffen,
die nicht in der richtigen Reihenfolge sind.
Sie m¨ussen sich auch dar¨uber im Klaren sein, dass Zweiweg-Replikation Ihre Performance
nicht wesentlich verbessert, falls ¨uberhaupt, sofern Aktualisierungen betroffen sind. Beide
Server m¨ussen ungef¨ahr dieselbe Menge Aktualisierungen durchf¨uhren, was auch ein Server
atte tun onnen. Der einzige Unterschied liegt darin, dass es sehr viel weniger Lock-
Contention gibt, weil die Aktualisierungen, die von einem anderen Server stammen, in
einem Slave-Thread serialisiert werden. Denno ch kann der erzielte Vorteil durch Netzwerk-
Verz¨ogerungen konterkariert werden.
Frage: Wie kann ich Replikation benutzen, um die Performance meines Systems zu
verbessern?
Vista de pagina 338
1 2 ... 334 335 336 337 338 339 340 341 342 343 344 ... 767 768

Comentarios a estos manuales

Sin comentarios