MySQL ist ein gängiges relationales Datenbankverwaltungssystem, das häufig zur Datenspeicherung und Verwaltung von Webanwendungen verwendet wird. Da das Datenvolumen und der gleichzeitige Zugriff weiter zunehmen, entspricht die Leistung einer einzelnen MySQL-Instanz möglicherweise nicht den Anforderungen der Anwendung. Daher ist MySQL Cluster zu einer gängigen Lösung geworden. In diesem Artikel wird erläutert, wie Sie einen MySQL-Cluster erstellen.
Schritt eins: Bereiten Sie die Umgebung vor
Bevor wir mit dem Aufbau des MySQL-Clusters beginnen, müssen wir einige Umgebungen und Tools vorbereiten:
1. Mindestens 3 Server, von denen einer als Verwaltungsknoten und die übrigen Server dienen als MySQL-Knoten (MySQL-Knoten).
2. Stellen Sie die Netzwerkkommunikation zwischen Servern sicher.
3. Installieren Sie den MySQL-Server und die MySQL-Cluster-Software.
In diesem Artikel verwenden wir zur Demonstration das Betriebssystem Ubuntu 18.04 LTS und MySQL Cluster Version 7.6.21.
Schritt 2: Erstellen Sie einen Verwaltungsknoten
Der Verwaltungsknoten wird zum Verwalten des gesamten MySQL-Clusters verwendet, einschließlich des Erstellens und Löschens von MySQL-Knoten, des Weiterleitens von Abfrageanforderungen usw. Auf diesem Knoten müssen wir zwei Softwarepakete installieren: MySQL Cluster Manager und MySQL Server.
1. MySQL Cluster Manager installieren
MySQL Cluster Manager ist ein Befehlszeilentool zum automatischen Erstellen und Konfigurieren von MySQL-Clustern. Installieren Sie über den folgenden Befehl:
sudo apt-get update
sudo apt-get install mysql-cluster-manager
2 Installieren Sie MySQL Server
Auf dem Verwaltungsknoten müssen wir MySQL Server installieren, damit MySQL Cluster Manager dies kann MySQL-Cluster verwalten. Installieren Sie über den folgenden Befehl:
sudo apt-get install mysql-server
3. Erstellen Sie eine MySQL-Cluster-Konfiguration.
Erstellen Sie auf dem Verwaltungsknoten die MySQL-Cluster-Konfigurationsdatei und geben Sie die Knotenadresse und die Portnummer an. In diesem Beispiel gehen wir davon aus, dass die IP-Adresse des Verwaltungsknotens 192.168.1.100 und die Portnummer 1186 ist.
Erstellen Sie eine Datei mit dem Namen mycluster.ini und geben Sie die Knotenadresse und die Portnummer an:
[NDB_MGMD DEFAULT]
PortNumber=1186
[NDB_MGMD]
HostName=192.168.1.100
[MYSQLD DEFAULT]
[NDBD DEFAULT]
[NDBD]
HostName=192.168.1.101
[NDBD]
HostName=192.168.1.102
4. Starten Sie den Verwaltungsknoten
Starten Sie den Verwaltungsknoten mit dem folgenden Befehl:
ndb_mgmd -f mycluster.ini --configdir=/var/lib/mysql-cluster
Zu diesem Zeitpunkt erstellt und konfiguriert MySQL Cluster Manager automatisch den MySQL-Cluster. Sie können den Status Ihres MySQL-Clusters mit dem folgenden Befehl überprüfen:
ndb_mgm
show
Schritt 3: Erstellen Sie einen MySQL-Knoten
Der MySQL-Knoten ist der Server, der tatsächlich Daten speichert und verwaltet. In diesem Beispiel erstellen wir zwei MySQL-Knoten.
1. Installieren Sie die MySQL Cluster-Software
Stellen Sie vor der Installation der MySQL Cluster-Software sicher, dass auf Ihrem Server die erforderlichen Abhängigkeiten und Bibliotheken installiert sind. Es kann mit den folgenden Befehlen installiert werden:
sudo apt-get install libaio1 libmecab2
Laden Sie dann das MySQL Cluster-Binärpaket herunter:
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6 /mysql-cluster_7 .6.21-1ubuntu18.04_amd64.deb-bundle.tar
Entpacken Sie das heruntergeladene Paket:
tar -xvf mysql-cluster_7.6.21-1ubuntu18.04_amd64.deb-bundle.tar
Geben Sie das dekomprimierte Verzeichnis ein:
cd mysql-cluster_7.6.21-1ubuntu18.04_amd64.deb-bundle
Führen Sie den folgenden Befehl aus, um MySQL Cluster zu installieren:
sudo dpkg -i mysql-common_7.6.21-1ubuntu18.04_amd64.deb
sudo dpkg. -i MySQL -cluster-client_7.6.21-1ubuntu18.04_amd64.deb . deb
sudo dpkg -i mysql-cluster-server-core_7.6.21-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-cluster-community-client_7.6.21-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-cluster- community-server_7.6.21- 1ubuntu18.04_amd64.deb
2. Konfigurieren Sie den MySQL-Knoten
Auf dem MySQL-Knoten müssen wir die MySQL-Konfigurationsdatei my.cnf ändern und den Verwaltungsknoten und die Portnummer angeben, die dem Knoten entsprechen.
Öffnen Sie die my.cnf-Datei:
sudo nano /etc/mysql/my.cnf
Fügen Sie am Ende der Datei die folgende Konfiguration hinzu:
[mysqld]
ndbclusterndb-connectstring=192.168.1.100
3. Starten Sie den MySQL-Knoten. Starten Sie den MySQL-Knoten mit dem folgenden Befehl:
sudo systemctl start mysql MySQL-Knoten. Sie können den Status Ihres MySQL-Clusters mit dem folgenden Befehl überprüfen:
ndb_mgm
showAn diesem Punkt können Sie Datenbanken auf dem MySQL-Knoten erstellen und verwalten. Schritt 4: MySQL-Cluster testenUm sicherzustellen, dass MySQL-Cluster ordnungsgemäß funktioniert, erstellen Sie eine Datenbank auf einem der MySQL-Knoten und erweitern Sie deren Tabellen und Daten auf die anderen Knoten. Sie können eine testdb-Datenbank mit dem folgenden Befehl erstellen:
mysql -uroot -p
create table user(name VARCHAR(20), age INT);
Fügen Sie abschließend einige Daten auf einem Knoten ein:
Verwenden Sie dann einen anderen MySQL-Knoten, um zu überprüfen, ob die Tabelle vorhanden ist:
verwenden Sie testdb;
select * from user;
Wenn Sie die Daten normal abrufen und lesen können, wurde der MySQL-Cluster erfolgreich eingerichtet.
Zusammenfassung
MySQL-Cluster kann die Anwendungsleistung und -zuverlässigkeit erheblich verbessern. Durch die Kombination von Verwaltungsknoten und mehreren MySQL-Knoten kann eine automatische Verteilung und Replikation von Daten erreicht werden, was eine hohe Verfügbarkeit und Fehlertoleranz gewährleistet. In den obigen Schritten haben wir den Aufbau eines MySQL-Clusters vorgestellt und einige Tests und Überprüfungen durchgeführt. Abhängig vom spezifischen Anwendungsszenario sind möglicherweise weitere Konfigurationen und Optimierungen erforderlich. Diese Schritte können jedoch als Leitfaden dienen, um Ihnen den Einstieg in das Erlernen und Verwenden von MySQL Cluster zu erleichtern.
Das obige ist der detaillierte Inhalt vonAufbau eines MySQL-Clusters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!