Ich als Betreiber von einem großen DynDNS Dienst (IPv64.net) muss für meine Nameserver den richtigen Weg finden, um meine Datenbanken abzugleichen. Was bietet sich mehr an als eine MySQL Replikation. Für mich war natürlich eine asynchrone Replikation ausreichen.

Asynchrone Replikation bedeutet, dass die Daten auf den Slave zwar kopiert werden und synchron gehalten werden, aber für den Client die Bestätigung bereits kommt, wenn der Master die Daten geschrieben hat. Also es kann vorkommen, dass auf dem Slave die Daten erst wenige Millisekunden später kopiert werden und dann zur Verfügung stehen. Das nennt man Asynchron.

Aber eben genau da, z.B. bei Webseiten ist das nicht grundlegend schlimm, wenn der Datenbankbestand ein paar Millisekunden abweicht.

1. MySQL Replikation einrichten – Master Einstellungen

Als Erstes legen wir einen Benutzeraccount auf dem Master an, welcher benutzt werden darf von den Slaves für die Replikation. Ändert natürlich nach Bedarf, die IP-Adresse, den Benutzernamen und das Passwort.

mysql -u root -p

mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repl'@'192.168.0.%' IDENTIFIED BY 'password';

Es folgen einige kleine Änderungen in der „/etc/my.conf“ (MySQL) oder „/etc/mysql/mariadb.conf/50-server“ (MariaDB). Danach starten wir den MySQL Dienst neu und überprüfen unsere Einstellungen.

log_bin = mysql-bin
server_id = 1
sync_binlog = 1
bind-address = 192.168.0.1 <Nimm hier deine IP>

## MySQL Neustarten ##
service mariadb restart

## Master Status überprüfen ##
mysql -u root -p

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |       98 |              |                  | 
+------------------+----------+--------------+------------------+

2. MySQL Replikation einrichten – Slave Einstellungen

Es folgen einige kleine Änderungen in der „/etc/my.conf“ (MySQL) oder „/etc/mysql/mariadb.conf/50-server“ (MariaDB).

server_id = 2
relay_log = mysql-relay-bin
read_only = 1

3. Daten auf den Slave kopieren

Jetzt müssen wir initial 1x die Daten (wenn vorhanden) auf den Slave kopieren, damit der Datenstand auf Master und Slave beim starten der Replikation gleich ist.

## Auf dem MASTER ##
mysqldump --all-databases --allow-keywords --single-transaction --flush-logs --master-data=2 -r /root/mysqldump.sql

## Daten auf den Slave kopieren ##
scp mysqldump.sql root@<IP-Adresse>:/root

## Master Status anzeigen lassen ##
mysql -u root -p

mysql> show master status;
## Auf dem Slave Datenbank importieren ##
cat /root/mysqldump.sql | mysql -u root -p

4. MySQL Replikation starten

Jetzt starten wir die Replikation auf dem Slave.

GANZ WICHTIG: Mit dem nächsten Befehl müssen die Daten „master_log_file“ & „master_log_pos“ übereinstimmen mit der Ausgabe von dem „show master status“ Befehl.

mysql -u root -p

mysql> change master to master_host='<IP-Addresse>', master_user='repl', 
  master_password='password', master_log_file='mysql-bin.000001', master_log_pos=98;

## Slave starten ##
mysql> start slave;

## Replikation Status auf Slave überprüfen ##
mysql> show slave status\G

## Replikation Status auf Master überprüfen ##
mysql> show master status;

Das war’s. Jetzt werden jegliche Änderungen auf dem Master sofort auf den / die MySQL Slaves kopiert. Du kannst nun die Slave Datenbank Server als lesende Datenbanken verwenden und den Master weiter entlasten. Der Slave kann natürlich auch im Falle eines großen Ausfalls zum Master promotet werden.

# Vorschau Produkt Bewertung Preis
1 Glovary Mini PC Fanless J6413, 4 x i226V 2.5GbE LAN OPNsense Firewall Appliance, 8GB DDR4 128GB NVMe SSD, AES-NI, Micro Router Hardware, 2 x NVMe Slot, 2 x SATA3.0, 2HD + USB-C 3 Display Glovary Mini PC Fanless J6413, 4 x i226V 2.5GbE LAN OPNsense Firewall Appliance, 8GB DDR4 128GB NVMe… Aktuell keine Bewertungen 379,96 EUR
2 MNBOXCONET S2 Mini PC N150 10GBE SFP+, Firewall Appliance Micro Büro Hardware, DDR5 8GB RAM 128GB SSD, 2xi226V 2.5Gbit LAN, USB C, TF Card Slot, Support Proxmox OPNsense, SPK/MIC MNBOXCONET S2 Mini PC N150 10GBE SFP+, Firewall Appliance Micro Büro Hardware, DDR5 8GB RAM 128GB… Aktuell keine Bewertungen 499,99 EUR
3 Protectli Vault FW2B - 2 Port, Firewall Micro Appliance/Mini PC - Intel Dual Core, AES-NI, Barebone - Compatible with pfSense/OPNsense Protectli Vault FW2B – 2 Port, Firewall Micro Appliance/Mini PC – Intel Dual Core, AES-NI, Barebone… Aktuell keine Bewertungen 279,00 EUR
4 FakestarPC 1U Rack-Mount Firewall Home Server Mini PC Alder Lake N150 4*i226-V 2.5G LANs Enterprise Network Security Host FakestarPC 1U Rack-Mount Firewall Home Server Mini PC Alder Lake N150 4*i226-V 2.5G LANs Enterprise… Aktuell keine Bewertungen 369,00 EUR
5 Glovary Firewall Mini PC J6413 4 Core, 4 x i226V 2.5GbE LAN OPNsense Router Micro Appliance, Barebone, AES-NI, Fanless Computer Hardware, 2 x DDR4, 2 x NVMe Slot, 2 x SATA3.0, 2HD+USB-C 3 Display Glovary Firewall Mini PC J6413 4 Core, 4 x i226V 2.5GbE LAN OPNsense Router Micro Appliance… Aktuell keine Bewertungen 249,56 EUR
6 12th Gen Firewall Mini PC, N150, 4x i226-V 2.5G LAN, Fanless Barebone 12th Gen Firewall Mini PC, N150, 4x i226-V 2.5G LAN, Fanless Barebone Aktuell keine Bewertungen 242,99 EUR
7 Protectli Vault Pro VP2420-4 Port, Firewall Micro Appliance/Mini PC - Intel Celeron J6412, DDR4 RAM, M.2 SSD Storage, AES-NI, Barebone - Kompatibel mit pfSense/OPNsense Protectli Vault Pro VP2420-4 Port, Firewall Micro Appliance/Mini PC – Intel Celeron J6412, DDR4 RAM… Aktuell keine Bewertungen 449,00 EUR
8 FakestarPC 1U Rack-Mount Firewall Home Server Mini PC Alder Lake N150 2 * 10G SFP+ 4*i226-V 2.5G LANs Enterprise Network Security Host FakestarPC 1U Rack-Mount Firewall Home Server Mini PC Alder Lake N150 2 * 10G SFP+ 4*i226-V 2.5G… Aktuell keine Bewertungen 429,00 EUR
9 CWWK N150 Mini PC (Upgraded N100) Firewall mit 4 Port 10GbE RJ45 + 2.5GbE LAN, S7 Pro OPNsense Appliance Mini Computer, Barebone Micro PC DDR5 NO RAM/SSD/OS, Dual NVMe, USB-C, TF CWWK N150 Mini PC (Upgraded N100) Firewall mit 4 Port 10GbE RJ45 + 2.5GbE LAN, S7 Pro OPNsense… Aktuell keine Bewertungen 338,79 EUR
10 CWWK N150 Mini PC, Firewall Hardware, 6 x 2.5GbE LAN, N100 Upgrade, Fanless Mini Computer, OPNsense Micro Appliance, Barebone NO RAM or SSD, 2 x M.2, USB-C, MicroSD, AES-NI CWWK N150 Mini PC, Firewall Hardware, 6 x 2.5GbE LAN, N100 Upgrade, Fanless Mini Computer, OPNsense… Aktuell keine Bewertungen 319,81 EUR

Das folgende Bild zeigt auch wie ich die Replikation in dem Dienst IPv64.net verwende.

IPv64.net MySQL Replikation
IPv64.net MySQL Replikation