MariaDB Master-Slave Replikation einrichten: Schritt-für-Schritt

Willst Du lernen, wie Du in MariaDB die Replikation einrichten kannst? In diesem Artikel erkläre ich Dir Schritt-für-Schritt, wie Du eine Master-Slave-Replikation konfigurierst. Beachte, dass sowohl der Master- als auch der Slave-Server die gleiche Version von MariaDB installiert haben sollten.

Voraussetzungen

  • Installierte MariaDB auf beiden Servern
  • Zugang zu beiden Servern – Bestenfalls sogar Root-Zugriff
  • Grundlegende Kenntnisse im Umgang mit MariaDB

1. Master-Server Konfiguration

Als Erstes musst Du die Master-Server Konfiguration anpassen:

[mysqld]
log-bin=mysql-bin
server-id=1
sync_binlog = 1

bind-address = <DEINE-IP>

Starte jetzt den MariaDB-Server neu:

systemctl restart mariadb

Logge Dich dann in die MariaDB Konsole ein: (Dein von dir vergebenes Passwort)

mysql -u root -p

Erstelle einen Replikationsbenutzer. Dieser wird dann verwendet für das “einloggen” von dem Slave. Ersetze natürlich das “password” Feld mit einem sicheren und langem Passwort.

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repl'@'192.168.0.%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;

Notiere Dir die File und Position aus der Ausgabe von SHOW MASTER STATUS

2. Backup vom Master erstellen

Vor der Fortsetzung empfehle ich dringend ein Backup Deiner Datenbank. Der Befehl ist einfach und schnell gemacht.

mysqldump -u root -p --all-databases > /pfad/zu/backup.sql

3. Slave-Server Konfiguration

Jetzt musst Du die Slave-Server Konfiguration vornehmen. Achte dabei darauf das du eindeutige “server-id”s verwendest. Diese dürfen im Konstrukt nur 1x vorkommen.

[mysqld]
server-id=2
relay-log=relay-bin
read_only = 1
log-error=error.log

Starte auch hier den MariaDB-Server neu:

systemctl restart mariadb

4. Datenbank importieren und Slave starten

Importiere das erstellte Backup vom Master auf dem Slave-Server:

mysql -u root -p < /pfad/zu/backup.sql

Verbinde Dich erneut zur MariaDB Konsole auf dem Slave-Server und führe folgende Befehle aus. Achte hier dringend auf die Position FILE und POS. Diese müssen so gesetzt werden wie beim Master Server.

mysql -u root -p

change master to master_host='192.168.0.1', master_user='repl', master_password='password', master_log_file='mysql-bin.000005', master_log_pos=98;

START SLAVE;

5. Prüfung der Replikation

Überprüfe abschließend die Replikationsstatus:

SHOW SLAVE STATUS\G;
  • Schau nach den Einträgen Slave_IO_Running und Slave_SQL_Running. Diese sollten auf “Yes” stehen.
  • Überprüfe zusätzliche Spalten wie Last_Error und Seconds_Behind_Master für mögliche Probleme.

Mit diesen Schritten sollte deine MariaDB Master-Slave-Replikation eingerichtet sein. Beachte die Datei- und Positionsnummer aus der SHOW MASTER STATUS Ausgabe genau zu verwenden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert