MySQL Cluster Tutorial

September 24

Die MySQL-Datenbank können Sie kombinieren mehrere Computer in einem Cluster fungiert als eine MySQL Datenbank. Es gibt bestimmte Hardware oder Software Mindestanforderungen als eine große Menge an RAM und MySQL 5.0 oder höher. Natürlich mehrere und schnellere CPUs werden die Leistung verbessern, wenn sie verfügbar sind. Die live-Daten für den Cluster werden im Speicher in einer shared-Nothing-Architektur vollständig gespeichert werden. MySQL Cluster sollte auf ein eigenes Subnetz ausgeführt werden, da die Kommunikation zwischen Knoten nicht verschlüsselt ist und so können Cluster exklusive Nutzung der Bandbreite haben.

Die Grundlagen

MySQL Cluster ist ist unabhängig vom MySQL-Server konfiguriert und mit keinen single Point of Failure. Jede Komponente muss eine eigene Arbeits- und Festplattenspeicher und freigegebener Speicher wird weder empfohlen noch unterstützt. Jeder Computer im Cluster müssen einen oder mehrere Prozesse ausgeführt. Diese Prozesse (so genannte Knoten) umfassen einen MySQL-Server, Datenknoten, einen Verwaltungsserver und spezielle Daten Programme. Konfiguration umfasst jeden Knoten konfigurieren und Einrichten von individuellen Kommunikationsverbindungen. Alle Daten für den gesamten Cluster befindet sich in einer Konfigurationsdatei, die von den Knoten Verwaltung verwaltet.

Jeder Computer mit einem SQL-Knoten muss eine MySQL Binary installiert haben. Management und Knoten erfordern keine binäre MySQL, aber erfordern die Verwaltung-Server-Daemon (Ndb_mgmd) für Knoten Verwaltung oder der Daten-Knoten-Daemon (Ndbd) für die Datenknoten. Es wird empfohlen, den Management-Client (NDB) auf der Management-Server-Host zu installieren.

Der Cluster verwendet die NDB-Speicher-Engine. NDB ist eine im Speicher, hohe Verfügbarkeit, persistente Daten Speicher-Engine, die mit einer Reihe von Failover und Lastausgleich Optionen konfiguriert werden kann. Wenn Daten im Speicher-Engine NDB gespeichert werden, werden die Tabellen in den Datenknoten untergebracht. Die Tische sind dann von allen anderen MySQL-Servern im Cluster zu erreichen. Auf diese Weise gespeicherten Daten können gespiegelt werden und Cluster kann Ausfälle einzelner Knoten mit nur einer kleinen Anzahl von Transaktionen beeinflusst durch den Verlust der Transaktionszustand behandeln.

Erstellen eines Clusters

Laden Sie die Binärdateien für den MySQL-Server, der NDB Cluster--Speicher-Engine NDB Cluster--Lagerung Motormanagement, NDB Cluster--Lagerung Motor Basistools, NDB Cluster--Lagerung Motor zusätzliche Werkzeuge. Die Cluster-Software müssen die gleiche Versionsnummer.

Jeder Datenknoten oder SQL-Knoten-Bedürfnisse weist eine "my.cnf"-Datei, die ein ":"Connectstring enthält den Server Where to find den Knoten Verwaltung und eine Linie des MySQL-Servers aktivieren Sie die Speicher-Engine NDB erzählen. Der Knoten Verwaltung braucht eine "config.ini"-Datei, die sagen, wie viele Repliken zu pflegen, wie viel Speicher zuordnen für Daten und Indizes auf jeder Datenknoten, wo die Datenknoten zu finden, wo die Daten auf den Datenträgern auf jedem Datenknoten gespeichert und wo die SQL-Knoten zu finden.

Jeder Cluster-Node-Prozess muss separat auf dem Rechner gestartet werden, wo es sich befindet. Ersten Knoten Verwaltung gestartet werden muss, dann Daten, die Knoten gestartet werden, der letzte Schritt ist die SQL-Knoten beginnen.

Starten Sie der Knoten Verwaltung geben Sie den Befehl:

Ndb_mgmd -f /var/lib/mysql-cluster/config.ini

Starten Sie mit dem Befehl "Ndbd" Datenknoten und verwenden Sie den Startup-Skript MySQL-Binärdateien, um die SQL-Knoten zu starten.

Testen Sie die Konfiguration durch Eingabe des Befehls "Ndb_mgm." Nachdem alle Knoten gestartet werden, können Sie mit Datenbanken und Objekten im MySQL Cluster arbeiten.