Um MySQL Cluster zu unterstützen, müssen Sie die Datei
my.cnf
so ändern, wie es im folgenden
Beispiel gezeigt wird. Bitte verwechseln Sie die hier
angegebenen Optionen nicht mit denen aus den
config.ini
-Dateien. Sie können diese
Parameter auch auf der Kommandozeile angeben, wenn Sie die
Executables aufrufen.
# my.cnf # Beispiel für Ergänzungen der my.cnf für MySQL Cluster # (gilt für MySQL 5.1) # ndbcluster-Speicher-Engine aktivieren und Verbindungs-String für # Management-Server-Host anlegen (Standardport ist 1186) [mysqld] ndbcluster ndb-connectstring=ndb_mgmd.mysql.com # Verbindungs-String für Management-Server-Host anlegen (Standardport ist 1186) [ndbd] connect-string=ndb_mgmd.mysql.com # Verbindungs-String für Management-Server-Host anlegen (Standardport ist 1186) [ndb_mgm] connect-string=ndb_mgmd.mysql.com # Speicherort für Cluster-Konfigurationsdatei [ndb_mgmd] config-file=/etc/config.ini
(Weitere Informationen über Connectstrings finden Sie unter
Abschnitt 16.4.4.2, „MySQL Cluster: connectstring
“.)
# my.cnf # Beispiel für Ergänzungen der my.cnf für MySQL Cluster # (funktioniert auf allen Versionen) # ndbcluster-Speicher-Engine aktivieren und Verbindungs-String für # Management-Server-Host anlegen (Standardport ist 1186 [mysqld] ndbcluster ndb-connectstring=ndb_mgmd.mysql.com:1186
Sie können in der Cluster-my.cnf
-Datei
auch einen separaten
[mysql_cluster]
-Abschnitt für
Einstellungen einrichten, die von allen Executables gelesen
und benutzt werden:
# Cluster-spezifische Einstellungen [mysql_cluster] ndb-connectstring=ndb_mgmd.mysql.com:1186
Die Konfigurationsdatei heißt nach Voreinstellung
config.ini
. Sie wird von
ndb_mgmd beim Starten gelesen und kann an
jedem beliebigen Ort gespeichert sein. Ihr Speicherort und ihr
Name werden mit
--config-file=
auf der Kommandozeile für ndb_mgmd
angegeben. Wenn die Konfigurationsdatei nicht angegeben wurde,
versucht ndb_mgmd nach Voreinstellung, eine
Datei namens path_name
config.ini
im aktuellen
Arbeitsverzeichnis zu lesen.
Gegenwärtig hat die Konfiguration ein INI-Format: Sie besteht
also aus Abschnitten mit Abschnittsüberschriften (in eckigen
Klammern), gefolgt von den jeweiligen Parameternamen und
-werten. Sie weicht insofern vom Standard-INI-Format ab, als
der Name und Wert eines Parameters auch durch einen
Doppelpunkt (‘:
’) und nicht nur
durch das Gleichheitszeichen
(‘=
’) getrennt sein können und
die Abschnitte nicht eindeutig durch einen Abschnittsnamen
identifiziert sind. Stattdessen werden eindeutige Abschnitte
(wie zum Beispiel zwei verschiedene Knoten desselben Typs)
durch eine eindeutige ID gekennzeichnet, die innerhalb des
Abschnitts als Parameter angegeben ist.
Für die meisten Parameter sind Standardwerte definiert. Diese
können auch in config.ini
angegeben
sein. Um einen Abschnitt für Standardwerte anzulegen, fügen
Sie dem Abschnittsnamen einfach DEFAULT
hinzu. Zum Beispiel enthält ein
[NDBD]
-Abschnitt Parameter für einen
bestimmten Datenknoten, während ein[NDBD
DEFAULT]
-Abschnitt Parameter enthält, die für
sämtliche Datenknoten gelten. Wir nehmen an, dass alle
Datenknoten denselben Speicherplatz belegen. Um sie alle zu
konfigurieren, legen Sie also einen [NDBD
DEFAULT]
-Abschnitt mit einer
DataMemory
-Zeile an, in welcher der
Speicherplatz für die Datenknoten angegeben ist.
Die Konfigurationsdatei muss mindestens die Computer und Knoten eines Clusters aufführen und sagen, auf welchem Computer welcher Knoten residiert. Im Folgenden sehen Sie ein Beispiel einer einfachen Konfigurationsdatei für einen Cluster, der aus einem Management-Server, zwei Datenknoten und zwei MySQL Servern besteht:
# Datei "config.ini" - 2 Datenknoten und 2 SQL-Knoten # Diese Datei wird in das Startverzeichnis von ndb_mgmd (dem # Management-Server gelegt.) # Der erste MySQL Server kann von jedem Host gestartet werden, der zweite # nur vom Host mysqld_5.mysql.com [NDBD DEFAULT] NoOfReplicas= 2 DataDir= /var/lib/mysql-cluster [NDB_MGMD] Hostname= ndb_mgmd.mysql.com DataDir= /var/lib/mysql-cluster [NDBD] HostName= ndbd_2.mysql.com [NDBD] HostName= ndbd_3.mysql.com [MYSQLD] [MYSQLD] HostName= mysqld_5.mysql.com
Beachten Sie, dass jeder Knoten seinen eigenen Abschnitt in
config.ini
hat. Da der vorliegende
Cluster zwei Datenknoten hat, enthält die Konfigurationsdatei
zwei [NDBD]
-Abschnitte, in denen diese
Knoten definiert sind.
In der config.ini
-Konfigurationsdatei
können sechs verschiedene Abschnitte benutzt werden:
[COMPUTER]
: Definiert die
Cluster-Hosts.
[NDBD]
: Definiert die Daten des
Clusters nodes.
[MYSQLD]
: Definiert die MySQL
Server-Knoten des Clusters server nodes.
[MGM]
or [NDB_MGMD]
:
Definiert den Management-Server-Knoten des Clusters.
[TCP]
: Definiert die
TCP/IP-Verbindungen zwischen den Knoten im Cluster, wobei
TCP/IP das Standardverbindungsprotokoll ist.
[SHM]
: Definiert
Shared-Memory-Verbindungen zwischen Knoten. Früher stand
dieser Verbindungtyp nur in Binaries zur Verfügung, die
mit der Option --with-ndb-shm
gebaut
wurden. In MySQL 5.1-Max ist er nach
Voreinstellung eingeschaltet, allerdings befindet sich
diese Lösung noch in der Erprobungsphase.
Für jeden Abschnitt können Sie auch
DEFAULT
-Werte definieren.
Cluster-Parameternamen unterscheiden im Gegensatz zu den
Parametern in my.cnf
oder
my.ini
nicht zwischen Groß- und
Kleinschreibung.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.