So erstellen Sie einen MySQL-Cluster mit hoher Verfügbarkeit und Leistung

So erstellen Sie einen MySQL-Cluster mit hoher Verfügbarkeit und Leistung

Was ist MySQL NDB Cluster?

MySQL NDB Cluster ist eine hochverfügbare, hochredundante Version von MySQL, die für verteilte Computerumgebungen geeignet ist.
Dokumentlinks

Vorarbeiten zum Aufbau eines Clusters

Bereiten Sie mindestens drei Server vor, einen als Verwaltungsserver und zwei als Datenserver und SQL-Server. Mehr Server sind natürlich besser.

Verwaltungsserver mgm: 192.168.0.105
Datenserver ndb1: 192.168.0.106
Datenserver ndb2: 192.168.0.104
SQL-Server: 192.168.0.106
SQL-Server: 192.168.0.104

Beginnen Sie mit der Bereitstellung des Clusters

Laden Sie zunächst die Binärdatei von MySQL NDB Cluster herunter, entpacken Sie diese und führen Sie die folgenden Schritte aus.

Bereitstellungsverwaltungsserver

Aktualisieren Sie das System

apt update -y und apt upgrade -y und apt installiere libncurses5 -y

Kopieren Sie ndb_mgm und ndb_mgmd auf den Verwaltungsserver.

scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64/bin/ndb_mgm* [email protected]:/home/mgm

Kopieren Sie auf dem Verwaltungsserver ndb_mgm und ndb_mgmd in den Ordner /usr/local/bin.

cp -rfv /home/mgm/ndb_mgm* /usr/local/bin

Erteilen Sie ndb_mgm und ndb_mgmd Ausführungsberechtigungen

chmod +x /usr/local/bin/ndb_mgm*

Hinzufügen eines Profils

mkdir /var/lib/mysql-cluster
vi /var/lib/mysql-cluster/config.ini

config.ini

[ndbd-Standard]
# Optionen, die ndbd-Prozesse auf allen Datenknoten betreffen:
NoOfReplicas=2 # Anzahl der Fragmentreplikate
DataMemory=98M # Wie viel Speicher soll für die Datenspeicherung reserviert werden?

[ndb_mgmd]
# Management-Prozessoptionen:
HostName=192.168.0.105 # Hostname oder IP-Adresse des Verwaltungsknotens
NodeId=1 # Knoten-ID für diesen Verwaltungsknoten
DataDir=/var/lib/mysql-cluster # Verzeichnis für Protokolldateien des Verwaltungsknotens

[ndbd]
# Optionen für Datenknoten „A“:
                                  # (ein [ndbd]-Abschnitt pro Datenknoten)
HostName=192.168.0.104 # Hostname oder IP-Adresse
NodeId=2 # Knoten-ID für diesen Datenknoten
DataDir=/data/mysql-cluster/data # Verzeichnis für die Datendateien dieses Datenknotens

[ndbd]
# Optionen für Datenknoten „B“:
                                # (ein [ndbd]-Abschnitt pro Datenknoten)
HostName=192.168.0.106 # Hostname oder IP-Adresse
NodeId=3 # Knoten-ID für diesen Datenknoten
DataDir=/data/mysql-cluster/data # Verzeichnis für die Datendateien dieses Datenknotens

[mysqld]
# SQL-Knotenoptionen:
HostName=192.168.0.104 # Hostname oder IP-Adresse
                             # (zusätzliche mysqld-Verbindungen können
                             # für diesen Knoten angegeben für verschiedene
                             # Zwecke wie das Ausführen von ndb_restore)

[mysqld]
# SQL-Knotenoptionen:
HostName=192.168.0.106 # Hostname oder IP-Adresse
                             # (zusätzliche mysqld-Verbindungen können
                             # für diesen Knoten angegeben für verschiedene
                             # Zwecke wie das Ausführen von ndb_restore)

Öffnen Sie die Firewall. Der Clusterverwaltungsdienst verwendet standardmäßig Port 1186.

ufw erlauben 22
ufw erlauben 1186
ufw aktivieren

Initialisieren und Starten des Verwaltungsservers

cd /usr/local/bin/
ndb_mgmd --initial --configdir=/var/lib/mysql-cluster -f /var/lib/mysql-cluster/config.ini --ndb-nodeid=1

Wenn das folgende Ergebnis angezeigt wird, bedeutet dies, dass der Verwaltungsserver erfolgreich gestartet wurde

root@mgm:/usr/local/bin# ndb_mgmd --initial --configdir=/var/lib/mysql-cluster -f /var/lib/mysql-cluster/config.ini --ndb-nodeid=1
MySQL Cluster Management Server mysql-5.7.33 ndb-7.6.17

Wir können den Befehl ndb_mgm erneut ausführen, um den Status des aktuellen Clusters anzuzeigen.

root@mgm:/usr/local/bin#ndb_mgm
-- NDB Cluster -- Management-Client --
ndb_mgm> anzeigen
Verbunden mit dem Management-Server unter: localhost:1186
Cluster-Konfiguration
---------------------
[ndbd(NDB)] 2 Knoten
id=2 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104)
id=3 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106)

[ndb_mgmd(MGM)] 1 Knoten
id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17)

[mysqld(API)] 2 Knoten
id=4 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104)
id=5 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106)

Bereitstellen des Datenservers

Führen Sie die folgenden Schritte auf allen Datenservern aus

Aktualisieren Sie das System

apt update -y und apt upgrade -y und apt installiere libncurses5 -y

Firewall aktivieren

ufw erlauben 22
ufw erlauben 2202
ufw aktivieren

Kopieren Sie ndbd und ndbmtd auf den Datenserver

#Kopieren nach 192.168.0.106
scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64/bin/ndbd [email protected]:/home/ndb1
scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64/bin/ndbmtd [email protected]:/home/ndb1

#Kopieren nach 192.168.0.104
scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64/bin/ndbd [email protected]:/home/ndb2
scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64/bin/ndbmtd [email protected]:/home/ndb2

Kopieren Sie auf dem Verwaltungsserver ndbd und ndbmtd in den Ordner /usr/local/bin.

#192.168.0.106
cp -rfv /home/ndb1/ndbd /usr/local/bin
cp -rfv /home/ndb1/ndbmtd /usr/local/bin

#192.168.0.104
cp -rfv /home/ndb2/ndbd /usr/local/bin
cp -rfv /home/ndb2/ndbmtd /usr/local/bin

Erteilen Sie ndbd Ausführungsberechtigungen

chmod +x /usr/local/bin/ndbd
chmod +x /usr/local/bin/ndbmtd

Fügen Sie die Datei my.cnf unter /etc hinzu

vi /etc/meine.cnf

my.cnf-Datei

[mysqld]
# Optionen für den mysqld-Prozess:
ndbcluster # NDB-Speicher-Engine ausführen

[mysql_cluster]
# Optionen für NDB-Clusterprozesse:
ndb-connectstring=192.168.0.105 # Standort des Verwaltungsservers

Erstellen Sie ein Verzeichnis für die Datenspeicherung, das mit dem im Verwaltungsdienst konfigurierten Pfad übereinstimmen muss

mkdir -p /Daten/MySQL-Cluster/Daten

Datendienst starten

root@ndb1:/usr/local/bin# ndbd
2021-06-20 08:10:23 [ndbd] INFO – Angel verbunden mit „192.168.0.105:1186“
2021-06-20 08:10:23 [ndbd] INFO -- Angel hat Node-ID zugewiesen: 3

Gehen Sie zurück zum Cluster-Verwaltungsserver, um den Cluster-Status zu überprüfen. Sie können sehen, dass der Datendienst erfolgreich verbunden wurde.

root@mgm:/usr/local/bin#ndb_mgm
-- NDB Cluster -- Management-Client --
ndb_mgm> anzeigen
Verbunden mit dem Management-Server unter: localhost:1186
Cluster-Konfiguration
---------------------
[ndbd(NDB)] 2 Knoten
id=2 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104)
id=3 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17, wird gestartet, Knotengruppe: 0)

[ndb_mgmd(MGM)] 1 Knoten
id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17)

[mysqld(API)] 2 Knoten
id=4 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104)
id=5 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106)

Wiederholen Sie die Schritte 4, 5, 6 und 7 auf einem anderen Server (192.168.0.104). Sie können das Ergebnis sehen.

root@ndb2:/usr/local/bin# ndbd
2021-06-20 08:20:10 [ndbd] INFO – Angel verbunden mit „192.168.0.105:1186“
2021-06-20 08:20:10 [ndbd] INFO -- Angel hat die Knoten-ID 2 zugewiesen

Gehen Sie zurück zum Cluster-Verwaltungsserver, um den Cluster-Status zu überprüfen. Sie können sehen, dass alle Datendienste erfolgreich verbunden wurden.

root@mgm:/usr/local/bin#ndb_mgm
-- NDB Cluster -- Management-Client --
ndb_mgm> anzeigen
Verbunden mit dem Management-Server unter: localhost:1186
Cluster-Konfiguration
---------------------
[ndbd(NDB)] 2 Knoten
id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *)
id=3 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0)

[ndb_mgmd(MGM)] 1 Knoten
id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17)

[mysqld(API)] 2 Knoten
id=4 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104)
id=5 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106)
Im Verzeichnis /data/mysql/data können Sie sehen, dass der Datendienst Daten root@ndb1:~# ls /data/mysql/data/ generiert hat.
ndb_3_fs ndb_3_out.log ndb_3.pid

Bereitstellen von SQL Server

MySQL nach SQL Server kopieren

scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64.tar.gz [email protected]:/home/ndb2
scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64.tar.gz [email protected]:/home/ndb1

Entpacken Sie MySQL und kopieren Sie es in das Verzeichnis /usr/local

tar -zxvf mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64.tar.gz
cp -rfv mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64 /usr/local/
ln -snf /usr/local/mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64 /usr/local/mysql

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
export PATH=$PATH:/usr/local/mysql/bin
Quelle /etc/Profil

Firewall aktivieren

ufw erlauben 22
ufw erlauben 3306
ufw aktivieren

Erstellen Sie ein Verzeichnis für die MySQL-Datenspeicherung

mkdir -p /Daten/MySQL/Daten
mkdir -p /data/mysql/run
mkdir -p /var/log/mysql

Erstellen Sie einen MySQL-Benutzer und zugehörige Verzeichnisse

MySQL-Gruppenadd
useradd -r -g mysql -s /bin/false mysql
chown mysql:mysql /data/mysql/data
chmod 750 /data/mysql/data

chown mysql:mysql /data/mysql/run
chmod 750 /data/mysql/run

chown mysql:mysql /var/log/mysql
chmod 750 /var/log/mysql

MySQL-Konfigurationsdatei erstellen

mkdir -p /etc/mysql
vi /etc/mysql/my.cnf
meine.cnf
[mysqld]
# Optionen für den mysqld-Prozess:
ndbcluster # NDB-Speicher-Engine ausführen

pid-Datei = /data/mysql/run/mysqld.pid
Socket = /data/mysql/run/mysqld.sock
Datenverzeichnis = /Daten/MySQL/Daten
# log-fehler = /var/log/mysql/error.log
# Standardmäßig akzeptieren wir nur Verbindungen vom lokalen Host
Bindeadresse = 192.168.0.106
# Das Deaktivieren symbolischer Links wird empfohlen, um verschiedene Sicherheitsrisiken zu vermeiden
symbolische Links = 0

[mysql_cluster]
# Optionen für NDB-Clusterprozesse:
ndb-connectstring = 192.168.0.105 # Standort des Verwaltungsservers

[Kunde]
Socket = /data/mysql/run/mysqld.sock

MySQL initialisieren

/usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql

Notieren Sie das Root-Benutzerkennwort sF#Hy,IuT6d#, das bei der MySQL-Initialisierung generiert wurde

root@ndb1:~# /usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql
2021-06-20T12:23:26.874302Z 0 [Warnung] TIMESTAMP mit implizitem DEFAULT-Wert ist veraltet. Bitte verwenden Sie die Serveroption --explicit_defaults_for_timestamp (weitere Einzelheiten finden Sie in der Dokumentation).
2021-06-20T12:23:27.102146Z 0 [Warnung] InnoDB: Neue Logdateien erstellt, LSN=45790
2021-06-20T12:23:27.145317Z 0 [Warnung] InnoDB: Erstellen von Systemtabellen mit Fremdschlüsseleinschränkungen.
2021-06-20T12:23:27.154405Z 0 [Warnung] Es wurde keine vorhandene UUID gefunden, daher gehen wir davon aus, dass dies das erste Mal ist, dass dieser Server gestartet wurde. Eine neue UUID wird generiert: 50a15854-d1c2-11eb-9792-000c29681e23.
2021-06-20T12:23:27.155927Z 0 [Warnung] Die Gtid-Tabelle ist nicht zur Verwendung bereit. Tabelle „mysql.gtid_executed“ kann nicht geöffnet werden.
2021-06-20T12:23:28.339372Z 0 [Warnung] CA-Zertifikat ca.pem ist selbstsigniert.
2021-06-20T12:23:28.624534Z 1 [Hinweis] Ein temporäres Passwort wird für root@localhost generiert: sF#Hy,IuT6d#

Starten Sie MySQL

/usr/local/mysql/bin/mysqld_safe --user=mysql &

Ändern des Root-Benutzerkennworts

mysqladmin -uroot -p'sF#Hy,IuT6d#' Passwort '123456'

Gehen Sie zurück zum Cluster-Verwaltungsserver, um den Cluster-Status zu überprüfen. Sie können sehen, dass ein SQL-Dienst verbunden wurde.

root@mgm:/usr/local/bin#ndb_mgm
-- NDB Cluster -- Management-Client --
ndb_mgm> anzeigen
Verbunden mit dem Management-Server unter: localhost:1186
Cluster-Konfiguration
---------------------
[ndbd(NDB)] 2 Knoten
id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *)
id=3 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0)

[ndb_mgmd(MGM)] 1 Knoten
id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17)

[mysqld(API)] 2 Knoten
id=4 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104)
id=5 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17)

Stellen Sie den SQL-Dienst auf einem anderen Server (192.168.0.104) bereit, kehren Sie zum Clusterverwaltungsserver zurück, um den Clusterstatus zu überprüfen, und Sie können sehen, dass alle SQL-Dienste erfolgreich verbunden wurden.

root@mgm:/usr/local/bin#ndb_mgm
-- NDB Cluster -- Management-Client --
ndb_mgm> anzeigen
Cluster-Konfiguration
---------------------
[ndbd(NDB)] 2 Knoten
id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *)
id=3 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0)

[ndb_mgmd(MGM)] 1 Knoten
id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17)

[mysqld(API)] 2 Knoten
id=4 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17)
id=5 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17)

Alle Clusterdienste werden bereitgestellt. Lassen Sie uns testen, ob der Cluster erfolgreich bereitgestellt wurde.

Erstellen Sie eine Datenbank und Tabelle auf MySQL unter 192.168.0.106

DATENBANK `wechat` ERSTELLEN;
Tabelle erstellen wechat.user (
Spalte1 varchar(100) NULL,
Spalte2 varchar(100) NULL
)
ENGINE=ndbcluster
STANDARD-ZEICHENSATZ=utf8mb4
COLLATE=utf8mb4_general_ci;
Daten einfügen und MySQL anzeigen > Datenbanken anzeigen;
+--------------------+
| Datenbank |
+--------------------+
| Informationsschema |
|mysql |
|ndbinfo|
| Leistungsschema |
|System|
| wechat |
+--------------------+
6 Zeilen im Satz (0,00 Sek.)

mysql> wähle * von wechat.user;
Leerer Satz (0,02 Sek.)

mysql> wechat.user einfügen (Spalte1, Spalte2) Wert ('1', '2');
Abfrage OK, 1 Zeile betroffen (0,01 Sek.)

mysql> wähle * von wechat.user;
+---------+---------+
| Spalte1 | Spalte2 |
+---------+---------+
| 1 | 2 |
+---------+---------+
1 Zeile im Satz (0,00 Sek.)

Bei einer weiteren SQL Server-Abfrage ist das Ergebnis erfolgreich

mysql> Datenbanken anzeigen;
+--------------------+
| Datenbank |
+--------------------+
| Informationsschema |
|mysql |
|ndbinfo|
| Leistungsschema |
|System|
| wechat |
+--------------------+
6 Zeilen im Satz (0,00 Sek.)

mysql> wähle * von wechat.user;
Leerer Satz (0,07 Sek.)

mysql> wähle * von wechat.user;
+---------+---------+
| Spalte1 | Spalte2 |
+---------+---------+
| 1 | 2 |
+---------+---------+
1 Zeile im Satz (0,00 Sek.)

Nun fahren wir einen der Datenknoten herunter. Auf dem Verwaltungsserver sehen wir, dass ndbd einen heruntergefahren hat.

root@mgm:/usr/local/bin#ndb_mgm
-- NDB Cluster -- Management-Client --
ndb_mgm> anzeigen
Verbunden mit dem Management-Server unter: localhost:1186
Cluster-Konfiguration
---------------------
[ndbd(NDB)] 2 Knoten
id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *)
id=3 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106)

[ndb_mgmd(MGM)] 1 Knoten
id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17)

[mysqld(API)] 2 Knoten
id=4 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17)
id=5 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17)

Schreiben Sie ein Datenstück

mysql> wähle * von wechat.user;
+---------+---------+
| Spalte1 | Spalte2 |
+---------+---------+
| 1 | 2 |
+---------+---------+
1 Zeile im Satz (0,01 Sek.)

mysql> in wechat.user einfügen (Spalte1, Spalte2) Wert ('3', '4');
Abfrage OK, 1 Zeile betroffen (0,00 Sek.)

mysql> wähle * von wechat.user;
+---------+---------+
| Spalte1 | Spalte2 |
+---------+---------+
| 3 | 4 |
| 1 | 2 |
+---------+---------+
2 Zeilen im Satz (0,00 Sek.)

Bei der Abfrage auf einem anderen SQL-Server sind die Ergebnisse dieselben

mysql> wähle * von wechat.user;
+---------+---------+
| Spalte1 | Spalte2 |
+---------+---------+
| 3 | 4 |
| 1 | 2 |
+---------+---------+
2 Zeilen im Satz (0,00 Sek.)

Wir haben dann den SQL-Dienst 192.168.0.106 heruntergefahren

root@mgm:/usr/local/bin#ndb_mgm
-- NDB Cluster -- Management-Client --
ndb_mgm> anzeigen
Verbunden mit dem Management-Server unter: localhost:1186
Cluster-Konfiguration
---------------------
[ndbd(NDB)] 2 Knoten
id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *)
id=3 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106)

[ndb_mgmd(MGM)] 1 Knoten
id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17)

[mysqld(API)] 2 Knoten
id=4 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17)
id=5 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106)

Schreiben Sie Daten in den SQL-Dienst unter 192.168.0.104

mysql> in wechat.user einfügen (Spalte1, Spalte2) Wert ('5', '6');
Abfrage OK, 1 Zeile betroffen (0,00 Sek.)

mysql> wähle * von wechat.user;
+---------+---------+
| Spalte1 | Spalte2 |
+---------+---------+
| 5 | 6 |
| 3 | 4 |
| 1 | 2 |
+---------+---------+
3 Zeilen im Satz (0,00 Sek.)

Starten Sie den Datendienst und den SQL-Dienst von 192.168.0.106

root@mgm:/usr/local/bin#ndb_mgm
-- NDB Cluster -- Management-Client --
ndb_mgm> anzeigen
Verbunden mit dem Management-Server unter: localhost:1186
Cluster-Konfiguration
---------------------
[ndbd(NDB)] 2 Knoten
id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *)
id=3 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0)

[ndb_mgmd(MGM)] 1 Knoten
id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17)

[mysqld(API)] 2 Knoten
id=4 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17)
id=5 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17)

Bei der Abfrage der Datenbank unter 192.168.0.106 habe ich festgestellt, dass die während des Fehlerzeitraums generierten Daten synchronisiert wurden.

root@ndb1:~# mysql -uroot -p
Passwort eingeben:
Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.
Ihre MySQL-Verbindungs-ID ist 4
Serverversion: 5.7.33-ndb-7.6.17-cluster-gpl MySQL Cluster Community Server (GPL)

Copyright (c) 2000, 2021, Oracle und/oder seine Tochtergesellschaften.

Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer
Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen
Eigentümer.

Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.

mysql> wähle * von wechat.user;
+---------+---------+
| Spalte1 | Spalte2 |
+---------+---------+
| 1 | 2 |
| 5 | 6 |
| 3 | 4 |
+---------+---------+
3 Reihen im Satz (0,08 Sek.)

Der Datenbankcluster wurde erfolgreich bereitgestellt. Lassen Sie uns die Vorsichtsmaßnahmen für den Cluster zusammenfassen.

  1. Beim Erstellen einer Tabelle müssen Sie ENGINE=ndbcluster festlegen. Weitere Einzelheiten finden Sie im obigen Skript zur Tabellenerstellung.
  2. Jeder SQL-Dienst muss das gleiche Benutzerkennwort erstellen
  3. Es dürfen nicht alle Verwaltungsserver ausfallen, da sonst die Datenbankvorgänge im Cluster fehlschlagen.
  4. Es dürfen nicht alle Datenserver ausfallen, da sonst der Cluster-Datenbankvorgang fehlschlägt.
  5. Die während des SQL Server-Ausfalls erstellte Datenbank wird nach der Wiederherstellung nicht automatisch mit der neu erstellten Datenbank synchronisiert. Sie müssen nach der Wiederherstellung nach dem Ausfall manuell eine Datenbank mit demselben Namen auf dem Server erstellen. Anschließend werden die Daten automatisch synchronisiert.
  6. Je mehr Management-Server und Datenserver vorhanden sind, desto sicherer kann im Störungsfall das Schreiben der Daten gewährleistet werden und es kommt nicht zu einem Ausfall des Datenbanksystems.
  7. Je mehr SQL-Server vorhanden sind, desto mehr Parallelität kann unterstützt werden, indem Datenbankzugriffsanforderungen über Lastausgleichsdienste auf die einzelnen SQL-Server verteilt werden.
  8. Der Cluster muss in der folgenden Reihenfolge gestartet werden: Verwaltungsdienst -> Datendienst -> SQL-Dienst.

Oben finden Sie Einzelheiten zum Erstellen eines MySQL-Clusters mit hoher Verfügbarkeit und hoher Leistung. Weitere Informationen zum Erstellen eines MySQL-Clusters mit hoher Verfügbarkeit und hoher Leistung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So erstellen Sie einen MySQL PXC-Cluster
  • Bereitstellung eines MySQL-Hochverfügbarkeitsclusters und Implementierung eines Failovers
  • MySQL 5.7-Clusterkonfigurationsschritte
  • Implementierung der Docker-Bereitstellung eines MySQL-Clusters
  • Detaillierte Schritte zur Installation von MySQL mit Cluster-RPM
  • Detaillierte Erläuterung des MySQL-Clusters: Implementierung einer Master- und einer Slave-Architektur
  • So stellen Sie MySQL 5.7- und 8.0-Master-Slave-Cluster mit Docker bereit
  • Detaillierte Erläuterung der Galera-Cluster-Bereitstellung im Clustermodus von MySQL
  • Beispiel zum Erstellen eines MySQL-Clusters mit Docker
  • Tutorial zur grundlegenden Bereitstellung von MySQL Cluster

<<:  Detaillierte Erklärung der Listendarstellung von Vue

>>:  Fehler bei der Eingabe chinesischer Zeichen im Flex-Programm Firefox

Artikel empfehlen

Das Prinzip und die Richtung von JavaScript

Wie lässt sich feststellen, worauf dies hinweist?...

Vollständige Analyse des MySQL INT-Typs

Vorwort: Integer ist einer der am häufigsten verw...

MySQL-Daemon konnte nicht gestartet werden – Fehlerlösung

MySQL-Daemon konnte nicht gestartet werden – Fehl...

Einführung in das Enctype-Attribut des Form-Tags und seine Anwendungsbeispiele

Enctype: Gibt den Kodierungstyp an, der vom Browse...

Grundsätze und Nutzungsdetails für MySQL 8.0-Benutzer- und Rollenverwaltung

Dieser Artikel beschreibt die Benutzer- und Rolle...

Eine kurze Erläuterung, wann MySQL interne temporäre Tabellen verwendet

Gewerkschaftsexekution Verwenden Sie zur Vereinfa...

Eine kurze Erläuterung der Rolle des Parameters docker --privileged=true

Mit etwa Version 0.6 wurde Privileged in Docker e...

Vue realisiert die Funktion zum Hochladen von Fotos auf den PC

In diesem Artikelbeispiel wird der spezifische Co...

Allgemeine Verwendung von regulären Ausdrücken in MySQL

Allgemeine Verwendung von Regexp in Mysql Fuzzy-M...

Detaillierte Erklärung der Truncate-Verwendung in MySQL

Anleitung in diesem Artikel: Es gibt zwei Möglich...