Tutorial

So konfigurieren Sie ein Galera-Cluster mit MySQL auf Ubuntu 18.04-Servern

Published on April 24, 2020
Deutsch
So konfigurieren Sie ein Galera-Cluster mit MySQL auf Ubuntu 18.04-Servern

Der Autor wählte den Free and Open Source Fund, um eine Spende im Rahmen des Programms Write for DOnations zu erhalten.

Einführung

Clustering fügt Ihrer Datenbank eine hohe Verfügbarkeit hinzu, indem Änderungen auf verschiedene Server verteilt werden. Falls eine der Instanzen ausfällt, sind andere schnell verfügbar, um den Dienst fortzusetzen.

Cluster gibt es in zwei allgemeinen Konfigurationen: aktiv-passiv und aktiv-aktiv. In Aktiv-Passiv-Clustern werden alle Schreibvorgänge auf einem einzigen aktiven Server ausgeführt und dann auf einen oder mehrere passive Server kopiert, die nur im Falle eines Ausfalls des aktiven Servers übernehmen. Einige Aktiv-Passiv-Cluster ermöglichen auch SELECT-Operationen auf passiven Knoten. In einem Aktiv-Aktiv-Cluster wird jeder Knoten gelesen und geschrieben, und eine Änderung an einem Knoten wird auf alle repliziert.

MySQL ist ein relationales Open-Source-Datenbankmanagementsystem, das eine gängige Wahl für SQL-Datenbanken ist. Galera ist eine Datenbank-Clustering-Lösung, die es Ihnen ermöglicht, Multi-Master-Cluster durch synchrone Replikation einzurichten. Galera kümmert sich automatisch darum, die Daten auf verschiedenen Knoten synchron zu halten, während Sie Lese- und Schreibabfragen an jeden beliebigen Knoten im Cluster senden kiönnen. Auf der offiziellen Dokumentationsseite können Sie mehr über Galera erfahren.

In dieser Anleitung werden Sie einen MySQL Galera-Aktiv-Aktiv-Cluster konfigurieren. Zu Demonstrationszwecken werden Sie drei Ubuntu 18.04 Droplets konfigurieren und testen, die als Knoten im Cluster fungieren werden. Diese Anzahl von Knoten ist der kleinste konfigurierbare Cluster.

Voraussetzungen

Um mitzumachen, benötigen Sie zusätzlich zu dem Folgenden ein DigitalOcean-Konto:

Die Schritte in diesem Tutorial wurden zwar für DigitalOcean-Droplets geschrieben und mit ihnen getestet, aber viele von ihnen sind auch auf Nicht-DigitalOcean-Servern mit aktivierter privater Vernetzung anwendbar.

Schritt 1 – Hinzufügen der MySQL-Repositorys zu allen Servern

In diesem Schritt fügen Sie die relevanten MySQL- und Galera-Paket-Repositorys zu jedem Ihrer drei Server hinzu, damit Sie die richtige Version von MySQL und Galera, die in diesem Tutorial verwendet wird, installieren können.

Anmerkung: Codership, das Unternehmen hinter Galera Cluster, pflegt das Galera-Repository, aber seien Sie sich bewusst, dass nicht alle externen Repositorys zuverlässig sind. Stellen Sie sicher, dass Sie nur von vertrauenswürdigen Quellen installieren.

In diesem Tutorial werden Sie MySQL Version 5.7 verwenden. Als Erstes fügen Sie das externe Ubuntu-Repository, das vom Galera-Projekt verwaltet wird, zu allen drei Servern hinzu.

Sobald die Repositorys auf allen drei Servern aktualisiert sind, können Sie MySQL zusammen mit Galera installieren.

Zuerst fügen Sie auf allen drei Servern den Galera-Repository-Schlüssel mit dem Befehl apt-key hinzu, den der APT-Paketmanager zur Überprüfung der Authentizität des Pakets verwendet:

  1. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv BC19DDBA

Nach einigen Sekunden erhalten Sie die folgende Ausgabe:

Output
Executing: /tmp/apt-key-gpghome.RG5cTZjQo0/gpg.1.sh --keyserver keyserver.ubuntu.com --recv BC19DDBA gpg: key D669017EBC19DDBA: public key "Codership Oy <info@galeracluster.com>" imported gpg: Total number processed: 1 gpg: imported: 1

Sobald Sie den vertrauenswürdigen Schlüssel in der Datenbank jedes Servers haben, können Sie die Repositorys hinzufügen. Dazu erstellen Sie auf jedem Server eine neue Datei namens galera.list im Verzeichnis /etc/apt/sources.list.d/:

  1. sudo nano /etc/apt/sources.list.d/galera.list

Fügen Sie im Texteditor die folgenden Zeilen hinzu, die dem APT-Paketmanager die entsprechenden Repositorys zur Verfügung stellen:

/etc/apt/sources.list.d/galera.list
deb http://releases.galeracluster.com/mysql-wsrep-5.7/ubuntu bionic main
deb http://releases.galeracluster.com/galera-3/ubuntu bionic main

Speichern und schließen Sie die Dateien auf jedem Server (drücken Sie STRG + X, Y, dann die EINGABETASTE).

Die Codership-Repositorys sind nun für alle drei Server verfügbar. Es ist jedoch wichtig, dass Sie apt anweisen, die Codership-Repositorys anderen vorzuziehen, um sicherzustellen, dass die gepatchten Versionen der Software installiert werden, die zur Erstellung eines Galera-Clusters benötigt werden. Dazu erstellen Sie eine weitere neue Datei namens galera.pref im Verzeichnis /etc/apt/preferences.d/ jedes Servers:

  1. sudo nano /etc/apt/preferences.d/galera.pref

Fügen Sie in dem Texteditor die folgende Zeilen hinzu:

/etc/apt/preferences.d/galera.pref
# Prefer Codership repository
Package: *
Pin: origin releases.galeracluster.com
Pin-Priority: 1001

Speichern und schließen Sie diese Datei und führen Sie dann den folgenden Befehl auf jedem Server aus, um Paketmanifeste aus den neuen Repositorys aufzunehmen:

  1. sudo apt update

Nachdem Sie nun erfolgreich das Paket-Repository auf allen drei Servern hinzugefügt haben, können Sie MySQL im nächsten Abschnitt installieren.

Schritt 2 – Installation von MySQL auf allen Servern

In diesem Schritt werden Sie das MySQL-Paket auf Ihren drei Servern installieren.

Führen Sie den folgenden Befehl auf allen drei Servern aus, um eine für die Arbeit mit Galera gepatchte Version von MySQL sowie das Galera-Paket zu installieren.

  1. sudo apt install galera-3 mysql-wsrep-5.7

Sie werden zur Bestätigung aufgefordert, ob Sie mit der Installation fortfahren möchten. Geben Sie Y ein, um mit der Installation fortzufahren. Während der Installation werden Sie auch aufgefordert, ein Passwort für den MySQL-Administrator festzulegen. Legen Sie ein sicheres Passwort fest und drücken Sie EINGABETASTE, um fortzufahren.

Sobald MySQL installiert ist, werden Sie das Standard-AppArmor-Profil deaktivieren, um sicherzustellen, dass Galera gemäß der offiziellen Galera-Dokumentation einwandfrei funktioniert. AppArmor ist ein Kernel-Modul für Linux, das Zugriffskontrollfunktionen für Dienste über Sicherheitsprofile bietet.

Deaktivieren Sie AppArmor, indem Sie auf jedem Server Folgendes ausführen:

  1. sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/

Dieser Befehl fügt einen symbolischen Link des MySQL-Profils in das Verzeichnis disable ein, wodurch das Profil beim Booten deaktiviert wird.

Führen Sie dann den folgenden Befehl aus, um die MySQL-Definition zu entfernen, die bereits in den Kernel geladen wurde.

  1. sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld

Wenn Sie MySQL installiert und das AppArmor-Profil auf Ihrem ersten Server deaktiviert haben, wiederholen Sie diese Schritte für Ihre beiden anderen Server.

Nachdem Sie nun MySQL erfolgreich auf jedem der drei Server installiert haben, können Sie mit dem Konfigurationsschritt im nächsten Abschnitt fortfahren.

Schritt 3 – Konfigurieren des ersten Knotens

In diesem Schritt werden Sie Ihren ersten Knoten konfigurieren. Jeder Knoten im Cluster muss eine nahezu identische Konfiguration haben. Aus diesem Grund werden Sie die gesamte Konfiguration auf Ihrem ersten Rechner vornehmen und sie dann auf die anderen Knoten kopieren.

Standardmäßig ist MySQL so konfiguriert, dass das Verzeichnis /etc/mysql/conf.d überprüft wird, um zusätzliche Konfigurationseinstellungen aus Dateien mit der Endung .cnf zu erhalten. Erstellen Sie auf Ihrem ersten Server in diesem Verzeichnis eine Datei mit allen Ihren cluster-spezifischen Anweisungen:

  1. sudo nano /etc/mysql/conf.d/galera.cnf

Fügen Sie die folgende Konfiguration in die Datei ein. Die Konfiguration gibt verschiedene Cluster-Optionen, Details über den aktuellen Server und die anderen Server im Cluster sowie replikationsbezogene Einstellungen an. Beachten Sie, dass die IP-Adressen in der Konfiguration die privaten Adressen Ihrer jeweiligen Server sind; ersetzen Sie die markierten Zeilen durch die entsprechenden IP-Adressen.

/etc/mysql/conf.d/galera.cnf
[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="test_cluster"
wsrep_cluster_address="gcomm://First_Node_IP,Second_Node_IP,Third_Node_IP"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="This_Node_IP"
wsrep_node_name="This_Node_Name"
  • Im ersten Abschnitt werden die MySQL-Einstellungen geändert oder neu festgelegt, damit der Cluster korrekt arbeiten kann. Zum Beispiel arbeitet Galera nicht mit MyISAM oder ähnlichen nicht-transaktionalen Speicher-Engines, und mysqld darf nicht an die IP-Adresse für localhost gebunden sein. Sie können sich über die Einstellungen auf der Galera Cluster System-Konfigurationsseite näher informieren.
  • Der Abschnitt „Galera Provider Configuration" konfiguriert die MySQL-Komponenten, die eine WriteSet-Replikations-API bereitstellen. Das bedeutet in Ihrem Fall Galera, da Galera ein wsrep (WriteSet Replication) Anbieter ist. Sie geben die allgemeinen Parameter zur Konfiguration der anfänglichen Replikationsumgebung an. Dies erfordert keine Anpassung, aber Sie können mehr über die Galera-Konfigurationsoptionen in der Dokumentation erfahren.
  • Der Abschnitt „Galera Cluster Configuration" definiert den Cluster, identifiziert die Cluster-Mitglieder anhand der IP-Adresse oder des auflösbaren Domänennamens und erstellt einen Namen für den Cluster, um sicherzustellen, dass die Mitglieder der richtigen Gruppe beitreten. Sie können den wsrep_cluster_name in etwas aussagekräftigeres als test_cluster ändern oder ihn so belassen, wie er ist, aber Sie müssen wsrep_cluster_address mit den privaten IP-Adressen Ihrer drei Server aktualisieren.
  • Der Abschnitt Galera Synchronization Configuration definiert, wie der Cluster zwischen den Mitgliedern kommunizieren und Daten synchronisieren wird. Dies wird nur für die Statusübertragung verwendet, die stattfindet, wenn ein Knoten online geht. Verwenden Sie für Ihre Ersteinrichtung rsync, da es allgemein verfügbar ist und das tut, was Sie momentan benötigen.
  • Der Abschnitt Galera Node Configuration verdeutlicht die IP-Adresse und den Namen des aktuellen Servers. Dies ist hilfreich, wenn versucht wird, Probleme in den Protokollen zu diagnostizieren und jeden Server auf mehrere Arten zu referenzieren. Die wsrep_node_address muss mit der Adresse des Rechners, auf dem Sie sich befinden, übereinstimmen, aber Sie können einen beliebigen Namen wählen, um den Knoten in den Protokolldateien zu identifizieren.

Wenn Sie mit Ihrer Cluster-Konfigurationsdatei zufrieden sind, kopieren Sie den Inhalt in die Zwischenablage und speichern und schließen Sie die Datei.

Nachdem Sie Ihren ersten Knoten erfolgreich konfiguriert haben, können Sie im nächsten Abschnitt mit der Konfiguration der verbleibenden Knoten fortfahren.

Schritt 4 – Konfigurieren der verbleibenden Knoten

In diesem Schritt konfigurieren Sie die verbleibenden zwei Knoten. Auf Ihrem zweiten Knoten öffnen Sie die Konfigurationsdatei:

  1. sudo nano /etc/mysql/conf.d/galera.cnf

Fügen Sie die Konfiguration ein, die Sie vom ersten Knoten kopiert haben, und aktualisieren Sie dann die Galera Node Configuration, um die IP-Adresse oder den auflösbaren Domänennamen für den spezifischen Knoten, den Sie einrichten, zu verwenden. Aktualisieren Sie anschließend seinen Namen, den Sie beliebig festlegen können, um den Knoten in Ihren Protokolldateien zu identifizieren:

/etc/mysql/conf.d/galera.cnf
. . .
# Galera Node Configuration
wsrep_node_address="This_Node_IP"
wsrep_node_name="This_Node_Name"
. . .

Speichern und schließen Sie die Datei.

Wenn Sie diese Schritte abgeschlossen haben, wiederholen Sie sie auf dem dritten Knoten.

Sie sind fast bereit, den Cluster zu starten, aber vergewissern Sie sich vorher, dass die entsprechenden Ports in Ihrer Firewall geöffnet sind.

Schritt 5 – Öffnen der Firewall auf jedem Server

In diesem Schritt werden Sie Ihre Firewall so konfigurieren, dass die für die Kommunikation zwischen den Knoten erforderlichen Ports offen sind. Überprüfen Sie auf jedem Server den Status der Firewall, indem Sie Folgendes ausführen:

  1. sudo ufw status

In diesem Fall wird nur SSH durchgelassen:

Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

Da in diesem Fall nur SSH-Datenverkehr erlaubt ist, müssen Sie Regeln für MySQL- und Galera-Datenverkehr hinzufügen. Wenn Sie versuchen würden, den Cluster zu starten, würde er an diesen Firewall-Regeln scheitern.

Galera kann vier Ports verwenden:

  • 3306 Für MySQL-Client-Verbindungen und State Snapshot Transfer, die die Methode mysqldump verwenden.
  • 4567 Für Galera Cluster-Replikations-Datenverkehr. Die Multicast-Replikation verwendet auf diesem Port sowohl sowohl den UDP- als auch den TCP-Transport.
  • 4568 Für inkrementelle Statusübertragungen.
  • 4444 Für alle anderen Status-Snapshot-Übertragungen.

In diesem Beispiel öffnen Sie während der Einrichtung alle vier Ports. Sobald Sie bestätigt haben, dass die Replikation funktioniert, sollten Sie alle Ports schließen, die Sie nicht tatsächlich verwenden, und den Datenverkehr auf die Server im Cluster beschränken.

Öffnen Sie die Ports mit den folgenden Befehlen:

  1. sudo ufw allow 3306,4567,4568,4444/tcp
  2. sudo ufw allow 4567/udp

Anmerkung: Abhängig davon, was sonst noch auf Ihren Servern ausgeführt wird, sollten Sie den Zugriff ggf. sofort einschränken. Der Leitfaden UFW-Grundlagen: Allgemeine Firewall-Regeln und -Befehle kann Ihnen dabei helfen.

Nachdem Sie Ihre Firewall auf dem ersten Knoten konfiguriert haben, erstellen Sie die gleichen Firewall-Einstellungen auf dem zweiten und dritten Knoten.

Nachdem Sie die Firewalls nun erfolgreich konfiguriert haben, können Sie den Cluster im nächsten Schritt starten.

Schritt 6 – Starten des Clusters

In diesem Schritt starten Sie Ihren MySQL Galera-Cluster. Zuvor aktivieren Sie jedoch den MySQL-Dienst systemd, sodass MySQL automatisch gestartet wird, wenn der Server neu gestartet wird.

Start von MySQL beim Start auf allen drei Servern aktivieren

Verwenden Sie den folgenden Befehl auf allen drei Servern, um den MySQL-Dienst systemd zu aktivieren:

  1. sudo systemctl enable mysql

Sie sehen die folgende Ausgabe, die zeigt, dass der Dienst erfolgreich mit der Liste der Startdienste verknüpft wurde:

Output
Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.

Nachdem Sie nun mysql aktiviert haben, sodass er bei einem Systemstart auf allen Servern gestartet wird, sind Sie bereit, mit dem Hochfahren des Clusters fortzufahren.

Den ersten Knoten hochfahren

Um den ersten Knoten hochzufahren, müssen Sie ein spezielles Startskript verwenden. Entsprechend der Konfiguration Ihres Clusters wird jeder Knoten, der online geht, versuchen, sich mit mindestens einem anderen Knoten zu verbinden, der in seiner Datei galera.cnf angegeben ist, um seinen Anfangsstatus zu erhalten. Ohne die Verwendung des Skripts mysqld_bootstrap, das es systemd erlaubt, den Parameter --wsrep-new-cluster zu übergeben, würde ein normales systemctl start mysql fehlschlagen, weil keine Knoten ausgeführt werden, mit denen der erste Knoten eine Verbindung herstellen könnte.

Führen Sie Folgendes auf Ihrem ersten Server aus:

  1. sudo mysqld_bootstrap

Dieser Befehl zeigt bei erfolgreicher Ausführung keine Ausgabe an. Wenn dieses Skript erfolgreich ist, wird der Knoten als Teil des Clusters registriert, und Sie können ihn mit dem folgenden Befehl anzeigen:

  1. mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

Nachdem Sie Ihr Passwort eingegeben haben, sehen Sie die folgende Ausgabe, die anzeigt, dass es einen Knoten im Cluster gibt:

Output
+--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 1 | +--------------------+-------+

Auf den verbleibenden Knoten können Sie mysql normal starten. Sie werden nach einem beliebigen Mitglied der Cluster-Liste suchen, das online ist, und wenn sie ein Mitglied finden, werden sie dem Cluster beitreten.

Den zweiten Knoten hochfahren

Jetzt können Sie den zweiten Knoten hochfahren. Starten Sie mysql:

  1. sudo systemctl start mysql

Bei erfolgreicher Ausführung wird keine Ausgabe angezeigt. Die Größe Ihres Clusters nimmt mit jedem Knoten zu, der online geht:

  1. mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

Sie sehen die folgende Ausgabe, die anzeigt, dass der zweite Knoten dem Cluster beigetreten ist und dass es insgesamt zwei Knoten gibt.

Output
+--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 2 | +--------------------+-------+

Den dritten Knoten hochfahren

Jetzt ist es an der Zeit, den dritten Knoten hochzufahren. Starten Sie mysql:

  1. sudo systemctl start mysql

Führen Sie den folgenden Befehl aus, um die Clustergröße zu ermitteln:

  1. mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

Sie sehen die folgende Ausgabe, die anzeigt, dass der dritte Knoten dem Cluster beigetreten ist und dass die Gesamtzahl der Knoten im Cluster drei beträgt.

Output
+--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 3 | +--------------------+-------+

Zu diesem Zeitpunkt ist der gesamte Cluster online und kommuniziert erfolgreich. Als Nächstes können Sie sicherstellen, dass die Einrichtung funktioniert, indem Sie im folgenden Abschnitt die Replikation testen.

Schritt 7 – Testen der Replikation

Sie haben die Schritte bis zu diesem Punkt durchgeführt, so dass Ihr Cluster die Replikation von jedem beliebigen Knoten zu jedem anderen Knoten durchführen kann, die so genannte Aktiv-Aktiv-Replikation. In diesem Schritt werden Sie einen Test durchführen und feststellen, ob die Replikation wie erwartet funktioniert.

In den ersten Knoten schreiben

Sie beginnen mit Datenbankänderungen in Ihrem ersten Knoten. Die folgenden Befehle erzeugen eine Datenbank namens playground und eine Tabelle innerhalb dieser Datenbank namens equipment.

  1. mysql -u root -p -e 'CREATE DATABASE playground;
  2. CREATE TABLE playground.equipment ( id INT NOT NULL AUTO_INCREMENT, type VARCHAR(50), quant INT, color VARCHAR(25), PRIMARY KEY(id));
  3. INSERT INTO playground.equipment (type, quant, color) VALUES ("slide", 2, "blue");'

Im vorhergehenden Befehl wird mit der Anweisung CREATE DATABASE eine Datenbank mit dem Namen playground erstellt. Die Anweisung CREATE erzeugt eine Tabelle mit dem Namen equipment innerhalb der Datenbank playground mit einer automatisch inkrementierenden Identifizierungsspalte namens id und anderen Spalten. Die Spalte type, die Spalte quant und die Spalte color werden definiert, um den Typ, die Anzahl bzw. die Farbe der Ausstattung zu speichern. Die Anweisung INSERT fügt einen Eintrag von Typ slide, Anzahl 2 und Farbe blue ein.

Sie haben nun einen Wert in Ihrer Tabelle.

Auf dem zweiten Knoten lesen und schreiben

Schauen Sie sich als Nächstes den zweiten Knoten an, um zu überprüfen, ob die Replikation erfolgreich ist:

  1. mysql -u root -p -e 'SELECT * FROM playground.equipment;'

Die Daten, die Sie in den ersten Knoten eingegeben haben, werden hier auf dem zweiten Knoten sichtbar sein, wodurch nachgewiesen wird, dass die Replikation funktioniert hat:

Output
+----+-------+-------+-------+ | id | type | quant | color | +----+-------+-------+-------+ | 1 | slide | 2 | blue | +----+-------+-------+-------+

Schreiben Sie von demselben Knoten aus Daten in den Cluster.

  1. mysql -u root -p -e 'INSERT INTO playground.equipment (type, quant, color) VALUES ("swing", 10, "yellow");'

Auf dem dritten Knoten lesen und schreiben

Von dem dritten Knoten aus können Sie alle diese Daten durch erneute Abfrage der Tabelle lesen:

  1. mysql -u root -p -e 'SELECT * FROM playground.equipment;'

Sie sehen die folgende Ausgabe, die die beiden Zeilen zeigt:

Output
+----+-------+-------+--------+ | id | type | quant | color | +----+-------+-------+--------+ | 1 | slide | 2 | blue | | 2 | swing | 10 | yellow | +----+-------+-------+--------+

Sie können von diesem Knoten aus wieder einen weiteren Wert hinzufügen:

  1. mysql -u root -p -e 'INSERT INTO playground.equipment (type, quant, color) VALUES ("seesaw", 3, "green");'

Auf dem ersten Knoten lesen

Auf dem ersten Knoten können Sie überprüfen, ob Ihre Daten überall verfügbar sind:

  1. mysql -u root -p -e 'SELECT * FROM playground.equipment;'

Sie sehen die folgende Ausgabe, die anzeigt, dass die Zeilen auf dem ersten Knoten verfügbar sind.

Output
+----+--------+-------+--------+ | id | type | quant | color | +----+--------+-------+--------+ | 1 | slide | 2 | blue | | 2 | swing | 10 | yellow | | 3 | seesaw | 3 | green | +----+--------+-------+--------+

Sie haben nun erfolgreich verifiziert, dass Sie in alle Knoten schreiben können und dass die Replikation ordnungsgemäß durchgeführt wird.

Zusammenfassung

Jetzt haben Sie einen funktionierenden Galera-Testcluster mit drei Knoten konfiguriert. Wenn Sie planen, einen Galera-Cluster in einer Produktivsituation zu verwenden, wird empfohlen, mit nicht weniger als fünf Knoten zu beginnen.

Vor dem produktiven Einsatz sollten Sie sich einige der anderen Status-Snapshot-Übertragungs-(sst-)Agenten wie xtrabackup ansehen, die es Ihnen ermöglichen, neue Knoten schnell und ohne große Unterbrechungen Ihrer aktiven Knoten einzurichten. Dies wirkt sich nicht auf die eigentliche Replikation aus, ist aber ein Problem bei der Initialisierung von Knoten.

Vielleicht sind Sie auch an anderen Clustering-Lösungen für MySQL interessiert. In diesem Fall können Sie sich unser Tutorial So erstellen Sie ein MySQL Cluster mit mehreren Knoten unter Ubuntu 18.04 ansehen. Wenn Sie eine verwaltete Datenbanklösung ausprobieren möchten, lesen Sie unsere DigitalOcean Dokumentation für verwaltete Datenbanken.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar
bsder

author



Default avatar

Senior Technical Editor

Editor at DigitalOcean, fiction writer and podcaster elsewhere, always searching for the next good nautical pun!


Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel