MariaDB Master / Slave System aufsetzen

Die meisten von euch haben schon einmal ein LAMP Stack aufgesetzt – dieser beinhaltet meistens auch Mysql oder MariaDB – möchte man aber nun ein Backup der DB haben, sollte man über die Option eines Slaves neben der Hauptinstanz haben. Für private Projekte sicher „too much“, aber es einmal aufgesetzt zu haben schadet sicher nicht – um zu wissen was der Hoster da eigentlich macht und was es zu beachten gibt…

MariaDB installieren

Als erstes installieren wir uns MariaDB auf beiden Systemen (Mysql ist auch i.O. – ist aber nicht so performant wie MariaDB)

Danach das übliche

mehr Infos dazu HIER

Verbindung testen

Legen wir in der /etc/hosts noch einen Eintrag für beide DB Server an:

Testen wir noch die Verbindung:

Wichtig: Solltet Ihr schon beide Server haben oder euer Master hat schon Daten, dumped euch die DB vorher und importiert Sie in euren SLAVE.

 

 

Master konfigurieren

Wir fügen der mysql Config Datei nun noch einige Einstellungen hinzu

Wir binden hier unsere IP Adresse des Masters – setzen eine UNIQUE Server Id sowie aktivieren das binary logging (und dessen Pfade)

Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging

Sollte dieser Fehler auftreten müsst Ihr noch folgenden hinzufügen:

Starten wir unseren Server neu sudo service mysql restart und loggen uns in die Console ein

und dort setzen wir unseren SLAVE User

Wichtig: Ersetzt alle Werte in den geschweiften Klammern!

Bleiben wir auch gleich in der Console und schauen uns den Status des Masters an:  SHOW MASTER STATUS;

Macht euch davon einen Screenshot oder schreibt euch die Position und File auf – die brauchen wir später.

Slave konfigurieren

mit Ctrl+o speichern und Ctrl+x schließen und den Mysql Service neustarten und einloggen

Bei mir hat das beim ersten Versuch nicht geklappt – falls Ihr einen Error habt der so aussieht:

dann müsst Ihr folgendes tun.

SLAVE

MASTER

flush logs; show master status; (notiert euch die Daten)

SLAVE

 

Wofür das ganze eigentlich? Naja, ich wollte das immer schon einmal aufsetzen, rein aus Interesse und zusätzlich möchte ich vorab eine neue Funktion der Shopware Enterprise Version testen (DB Replicas). Schön das sowas nun auch Applikationsseitig gelöst wird.

Schreibe einen Kommentar

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