Reply to comment


MySQL: Master-Slave einrichten (konfigurieren)

By admin - Posted on 23 March 2010

Falls der MySQL-Server einmal ausfällt ist das Gejammer groß. Daher sollte man einen Mirror aufsetzen und für den Notfall hat man ein Ersatz-System.

Die folgende Schritte sollen zeigen wie man eine Replikation aufsetzt. Hier Master-Slave.

Mein Aufbau:

2 Rechner mit openSUSE 11.1 und MySQL 5.0.67.

Vorraussetzungen:

Auf Master und Slave läuft der MySQL-Server und beide System sind für Ihre Aufgaben eingerichtet. Stichwort: Server-id und binäres Loggen.

Master

2 Shells öffnen

In Shell 1 wird mysql gestartet.
Die Shell muss offen bleiben.

mysql -u root -p

mysql> FLUSH TABLES WITH READ LOCK;

mysql> SHOW MASTER STATUS;

Beispiel:

mysql> Show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 |       98 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

In Shell 2 nun den Dump erstellen

mysqldump -u root -p --all-databases --lock-all-tables > /home/tmp/dbdump.db

Alternativ kann auch das hier verwendet werden:

mysqldump -u root -p --all-databases --master-data > /home/tmp/dbdump.db

Hier werden die Infos zu Change-Master gleich mit eingetragen (Infos).

Auf Shell 1 die Tabellen wieder freigeben:

mysql> UNLOCK TABLES;

Den dump auf den Slave übertragen

scp /home/tmp/dbdump.db 192.168.0.4:/home/tmp/

Slave

2 Shells öffnen

In Shell 1 wird mysql gestartet.
Die Shell muss offen bleiben.

Den Slave stoppen

mysql> STOP SLAVE;

In Shell 2 nun den Dump importieren

shell> mysql -u root -p < /home/tmp/dbdump.db

In Shell 1 den Slave anweisen

CHANGE MASTER TO
MASTER_HOST='192.168.0.7',
MASTER_USER='repl',
MASTER_PASSWORD='repl',
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=98;

und starten

mysql> START SLAVE;

Doku

Bei nützlichen Hinweisen erweitere ich dies hier gerne.

Tags

Reply

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is used to find out out that you are a human and to avoid SPAM.
Image CAPTCHA
Enter the characters shown in the image.