bitroom - Technik - MySQL Replikation - Datenbank Replikation

Snippets
Code Snippets
Open Object Database
Open Object Catalog Was ist die Open Object Database? Open Object Namenskonvention
Objekt Suche
 

Technik
C# / .NET SOA Pentaho JBoss AJAX PHP Klassen Java Tutorials MySQL - Replikation MySQL 5 - Datenbank Internet Provider Suchmaschinen Optimierung
Bereiche
News Projekte Links
Kommunikation
Weblog / Blog
Glossar
LAMP PHP XAMPP
Fragen, Kritik oder Kommentare? Dann schreib einfach eine Email an alex[at]bitroom.de

MySQL Datenbank Replikation

Im folgenden werden die wesentlichen Schritte zum einrichten einer Datenbank Replikation unter MySQL erläutert.
1. Anlegen eines Users auf dem Master, unter dem die Replikation durchgeführt werden soll.
Mysql Version kleiner als 4.0.2
SQL>GRANT FILE ON shopdb.* to repl1@'%.domain.de' identified by 'repl1pwd'

MySQL Version größer als 4.0.2
SQL>GRANT SUPER,REPLICATION CLIENT,REPLICATION SLAVE,RELOAD ON shopdb.* to repl1@'%.domain.de' identified by 'repl1pwd'

Damit existiert nun ein User der die Tabellen der angegebenen Datenbank repliziern darf.

Als nächstes muß dem Master eine eindeutige Server ID zugeteilt werden. Dazu stellen wir in der my.cnf die Server ID auf 1.
server-id = 1

Dann muß auf dem Master das binlog aktiviert werden. Durch die Aktivierung von MySQL Binlog werden alle SQL Befehle, die Änderungen an den Daten hervorrufen in binären LogDateien abgespeichert.
Zum einschalten des BinLogs aktiviert man in der Configurationsdatei my.cnf den Eintrag log-bin. Zusätzlich sollten die Datenbanken angegeben werden, für die dieses aktiviert wird. Der Abschnitt in der my.cnf muss dann wie folgt aussehen:
...
log-bin
binlog-do-db = shopdb
...

Die Einstellungen auf dem Master sind damit erledigt. Nun nur noch den MySQL Dienst neu starten und der Master beginnt mit dem Erzeugen der BinLogs. Diese werden in der Regel im "var"-Verzeichnis von MySQL abgelegt und tragen den Servernamen gefolgt von einer fortlaufenden Zahl. z.B. dbserver-bin.001

Also nächstes müssen die Eisntellungen für den Slave vorgenommen werden.
Dazu Muß in der Konfigurationsdaten der Slave Datenbank angegeben werden wer der Master ist. (Alternativ können diese Settings auch in der MySQL Console eingegeben werden).
Dazu tragen wir folgendes in der my.cnf der Slave Datenbank ein:

...
#server-id muß für jeden teilnehmenden Rechner eindeutig sein. 1 ist bereits dem Master zugeteilt.
server-id = 2 #

# hostname ist der Hostname bzw. die IP-Adresse des Master Servers.
master-host = hostname

# master-user ist der Benutzer mit dem der Slave auf den Master zugreifen soll.
master-user = repl1

#master-password ist das zum master-user zugehärige Passwort
master-password = repl1pwd

#master-port ist der Netzwerkport auf dem der Server läuft. Standard ist 3306
master-port = 3306

#replicate-do-db legt fest welche Datenbank repliziert werden soll.
replicate-do-db = shopdb

#replicate-do-table beschränkt die Replikation auf einzelne Tabellen, falls nicht die gesamte Datenbank repliziert werden soll.
replicate-do-table = shopdb.customer
replicate-do-table = shopdb.order
replicate-do-table = shopdb.tracking
...

Nun ist es soweit. Die Slave DB muß gestartet werden.
Über den Befehl
SQL>SHOW SLAVE STATUS
sieht man den aktuellen Zustand des Slaves.
Wird eine Meldung ausgegeben, dass dieser Befehl nur bei gestartetem SLAVE möglich ist, dann müssen Sie die Replikation für diesen Slave mit dem Befehl:
SQL>SLAVE START
Starten.
Falls Die Datenbank bereits Datensätze enthält, die zunächst auf den SLAVE runtentergeladen werden sollen kann dies durch den Befehl:
SQL>LOAD DATA FROM MASTER;
geschehen. Der Befehl bewirkt, dass alle Datenbanken die in der my.cnf mit replicate-do-db angegeben wurden heruntergeladen werden.
New Objects in Database
TEMP_1NEU!
Shortdesc
Datum: 2009-08-16 14:08:51
Show Object

testobjectNEU!
object for testing
Datum: 2009-01-14 21:01:05
Show Object

Code Samples
CSharp C# Datenbank C# DataSet C# HTML Editor C# Tips & Tricks
LAMP/LAMPS Links
XAMPP Apache Webserver PHP Download MySQL Datenbank OpenSSL ModSSL LAMPS Tutorial
IT - News
Golem Heise Verlag
Fun Stuff
Autsch Lustige Stories Hackfressen
(c)2005 bitroom