Skip to content

Instantly share code, notes, and snippets.

@schaary
Created December 10, 2012 08:50
Show Gist options
  • Select an option

  • Save schaary/4249396 to your computer and use it in GitHub Desktop.

Select an option

Save schaary/4249396 to your computer and use it in GitHub Desktop.
MySQL Master-Slave-Replikation

Einrichten der Master-Slave-Replikation für MySQL

Diese Doku beschreibt den Einrichtungsprozess für die Master-Slave-Replikation des MySQL-Servers des ITZ. Dabei wird Bezug genommen auf die Dokumentationen auf mysql.com

  1. Voraussetzungen

In dieser Doku gehen wir davon aus, dass zwei Server mit fertig installiertem Betriebssystem (Ubuntu Server 12.04 LTE) bereits stehen

  • Master - mysql.itz.uni-halle.de
  • Slave - repl1.itz.uni-halle.de

Diese beiden Rechner werden nach den Beschreibungen

  1. Vorbereitung des Master-Servers

Der Master muss binary-logging aktiviert haben und eine eindeutige server-id innerhalb des Replikationsnetzwerkes haben. Dazu sind in der Datei /etc/mysql/my.cnf folgende Eintragen zu machen:

[mysqld]
log-bin=mysql-bin
server-id=1
  1. Vorbereitung des Slave-Servers

Auf dem Slave ist lediglich eine eindeutige Server-ID zu setzen. Dies erfolgt in der Datei /etc/mysql/my.cnf:

[mysqld]
server-id=1
  1. Replikationsnutzer einrichten

Damit ein Slave erfolgreich replizieren kann, braucht er Zugriff auf den Master. Die Zugriffsdaten werden im Klartext auf dem Slave in der Datei /etc/mysql/master.info hinterlegt. Deshalb ist es ratsam, einen speziellen Nutzer für die Replikation anzulegen, der nur das Recht zur Replikation hat. Dazu wird auf dem Master ein entsprechender Nutzer angelegt:

mysql> CREATE USER 'replicator'@'repl1.itz.uni-halle.de' IDENTIFIED BY 'XXXXXXXX';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'repl1.itz.uni-halle.de';

Quellen:

http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html "MySQL Dokumentation zu Einrichtung eines Replikations-Mechanismus" http://www.ubuntu.com/business/server "Ubuntu Server LTE"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment