silvesterlangen.de

Seite
Menü

MySQL Replication

Es gibt durchaus Situationen wo eine Replikation der Datenbank auf einen anderen Datenbankserver nötig bzw. erwünscht ist. Sei es Zwecks Failover oder weil man Lastenausgleich erreichen will. Bei Datenbanken sind die Mehrheit der Zugriffe Leseoperationen.

Als Beispiel lässt sich der Webserver heranziehen, dessen Website eine Datenbank zur Speicherung der Benutzerkonten oder Foreneinträge nutzt. Um eine Lastenverteilung zu bekommen kann man die Datenbank auf einen weiteren Server replizieren und dann von beiden Datenbank-Servern lesen. Ein anderes Szenario nutzt diese Möglichkeit, um Ausfallsicherheit herzustellen. Fällt ein Datenbankserver aus so wird ein Failover ausgelöst und ein anderer Datenbankserver, der eine 100 %ige Kopie ist springt ein.

 

Vor- und Nachteile

Vorteil: Es ist sehr sehr leicht einzurichten.

Nachteil: Es ist nicht synchron. Das bedeutet, dass es leichte Verzögerungen gibt.

 

Wie funktioniert das?

Die einfachsten Variante ist die, dass es einen Master und einen Slave gibt. Der Master schreibt in die Datenbank (DELETE, UPDATE, CREATE, usw.) und logt das in seiner Binärlog. Dort stehen die SQL-Commands, die verwendet wurden.

Der I/O-Thread des Slave verbindet sich zum Binärlog des Masters und setzt die darin befindlichen Befehle ebenso um wie der Master. Das ist der Grund wieso man zuerst die ganze Datenbank auf den Slave übertragen muss und bis zu dem Moment bis der Replikationsmechanismus aktiviert ist, keine Änderungen am Master stattfinden dürfen. Ansonsten bekommt der Slave das ganz einfach nicht mit was in der Binärlog neu hinzugekommen ist und es fehlen dann Datensätze auf dem Slave.

 

 

« vorige Seite Seitenanfang nächste Seite »
Seite
Menü
Earned Certificates:
LPIC-1 LPIC-1 LPIC-1
Powered by CMSimple | Template by CMSimple | Login