| Snippets
Code Snippets
Open Object Database
Open Object Catalog
Was ist die Open Object Database?
Open Object Namenskonvention
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 ReplikationIm 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
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 | ||||