Die MySQL-Datenbank ermöglicht es Ihnen, mehr als einen Computer in einem Cluster , die als eine einzige MySQL-Datenbank fungiert kombinieren . Es gibt minimale spezifische Hardware oder Software andere Anforderungen als eine große Menge an RAM und MySQL 5.0 oder höher. Natürlich werden mehrere und schnellere CPUs steigern die Performance , wenn sie verfügbar sind. Die Live-Daten für den Cluster vollständig innerhalb des Speichers in einer Shared- Nothing-Architektur gespeichert werden. Der MySQL Cluster sollte in einem eigenen Subnetz ausgeführt werden , da die Kommunikation zwischen den Knoten nicht verschlüsselt ist, und so kann der Cluster exklusive Nutzung der Bandbreite haben . Die Grundlagen
Die MySQL Cluster wird unabhängig von den MySQL-Server konfiguriert und ohne Single Point of Failure konzipiert. Jede Komponente muss eine eigene Arbeits-und Festplattenspeicher und gemeinsam genutzten Speicher wird weder empfohlen noch unterstützt . Jeder Computer im Cluster einen oder mehrere Prozesse, die auf es . Diese Prozesse ( so genannte Knoten ) einen MySQL -Server, einen Datenknoten , einen Management-Server und spezielle Programme für den Datenzugriff . Konfiguration beinhaltet Konfiguration jedes einzelnen Knoten konfigurieren und individuelle Kommunikationsverbindungen. Alle Daten, die für den Cluster als Ganzes befindet sich in einer Konfigurationsdatei von der Management-Knoten verwaltet entfernt.
Jeder Computer, auf dem eine SQL- Knoten muss ein MySQL- Binär installiert ist. Management- und Datenknoten benötigen keine MySQL binär, aber nicht die Management-Server -Daemon ( ndb_mgmd ) für Management-Knoten oder Datenknoten -Daemon ( ndbd ) für die Daten -Knoten benötigen . Es wird empfohlen, den Management-Client ( ndb_mgm ) auf dem Management -Server-Host installieren.
Der Cluster verwendet die Speicher-Engine NDB Cluster . NDBCLUSTER ist eine In-Memory- , High-Availability -, Daten - persistenten Speicher -Engine, die mit einer Reihe von Failover-und Load-Balancing- Optionen konfiguriert werden können. Wenn die Daten in der Speicher-Engine NDB Cluster gespeichert ist , werden die Tabellen in den Datenknoten gespeichert. Die Tabellen sind dann von allen anderen MySQL Server im Cluster . Die gespeicherten Daten werden auf diese Weise kann gespiegelt werden und der Cluster können Ausfälle einzelner Knoten mit nur einer kleinen Anzahl von Transaktionen verarbeiten betroffen durch den Verlust der Transaktion Staat.
Erstellen eines Clusters
Laden Sie die Binärdateien für den MySQL-Server , die NDB Cluster - Speicher-Engine NDB Cluster - Storage Engine Management, NDB Cluster - Storage Engine grundlegenden Werkzeuge , NDB Cluster - Speicher-Engine zusätzliche Tools . Alle Cluster-Software müssen die gleiche Versionsnummer.
Jeder Datenknoten oder SQL-Knoten benötigt eine " my.cnf "-Datei , die einen " Verbindungs- " , die den Server mitteilt, wo die Management-Knoten zu finden , sowie einer Linie , die den MySQL -Server , um die Speicher-Engine NDB Cluster aktivieren. Der Management-Knoten muss eine Datei "config.ini" erzählt , wie viele Replikas zu pflegen, wie viel Speicher für Daten und Indizes auf jedem Datenknoten , wo die Daten -Knoten finden , wo man die Daten auf den Festplatten sparen Sie jeweils zuweisen Datenknoten und wo die SQL-Knoten zu finden.
Jeder Cluster -Knoten-Prozess muss separat auf dem Host, auf dem es sich befindet, gestartet werden. Der Management-Knoten muss zuerst gestartet werden , dann Datenknoten gestartet werden, ist der letzte Schritt , um die SQL-Knoten starten
So starten Sie die Management-Knoten Geben Sie den Befehl .
Ndb_mgmd -f /var /lib /mysql- cluster /config.ini
starten Sie die Daten mit dem Knoten " ndbd " Befehl und verwenden Sie das Start-up- Skript mit MySQL -Binärdateien geliefert , um die SQL-Knoten starten.
testen Konfiguration , indem Sie den Befehl " ndb_mgm . " Nachdem alle Knoten gestartet werden, können Sie mit den Datenbanken und Objekte in der MySQL Cluster arbeiten.