Kapitel 5: MySQL-Datenbankadministration 179
5.1.4 Viele MySQL-Server auf derselben Maschine laufen lassen
Unter bestimmten Umst¨anden wollen Sie vielleicht mehrere Server auf derselben Mas-
chine laufen lassen. Beispielsweise wollen Sie ein neues MySQL-Release testen, Ihre beste-
hende Produktionseinrichtung aber unangetastet lassen. Oder Sie sind ein Internet-Service-
Provider, der unabh¨angige MySQL-Installationen f¨ur verschiedene Kunden hat.
Wenn Sie mehrere Server laufen lassen wollen, ist es am einfachsten, die Server mit un-
terschiedlichen TCP/IP-Ports und Socket-Dateien laufen zu lassen, damit sie nicht beide
auf demselben TCP/IP-Port oder derselben Socket-Datei auf Verbindungen warten. Siehe
Abschnitt 5.7.3 [mysqld_multi], Seite 269.
Nehmen wir einen existierenden Server an, der auf die existierende Port-Nummer und
Socket-Datei konfiguriert ist. Sie konfigurieren einen neuen Server mit einem configure-
Befehl, etwa wie folgt:
shell> ./configure --with-tcp-port=port_nummer \
--with-unix-socket-path=datei \
--prefix=/usr/local/mysql-3.22.9
Hier m¨ussen port_nummer und datei anders als die vorgabem¨aßigen Werte sein. Der --
prefix-Wert sollte ein Installationsverzeichnis festlegen, das anders ist als dasjenige, unter
dem die existierende MySQL-Installation liegt.
Sie k¨onnen den Socket, der vom aktuell laufenden MySQL-Server benutzt wird, mit folgen-
dem Befehl feststellen:
shell> mysqladmin -h hostname --port=port_nummer variables
Wenn Sie “localhost” als Hostnamen festlegen, benutzt mysqladmin Unix-Sockets anstelle
von TCP/IP.
Wenn Sie einen MySQL-Server auf dem Port laufen haben, den Sie benutzt haben, bekom-
men Sie eine Liste der wichtigsten konfigurierbaren Variablen in MySQL, inklusive des
Socketnamens.
Sie m¨ussen keinen neuen MySQL-Server kompilieren, nur um ihn mit einem anderen Port
und Socket zu starten. Sie k¨onnen Port und Socket zur Laufzeit als Optionen von safe_
mysqld festlegen:
shell> /pfad/zu/safe_mysqld --socket=datei --port=port_nummer
mysqld_multi kann ebenfalls safe_mysqld (oder mysqld) als Argument nehmen und die
Optionen von einer Konfigurationsdatei an safe_mysqld und weiter an mysqld durchre-
ichen.
Wenn Sie den neuen Server mit demselben Datenbankverzeichnis laufen lassen und Loggen
angeschaltet haben, sollten Sie auch den Namen der Logdateien f¨ur safe_mysqld mit --log,
--log-update oder --log-slow-queries festlegen. Ansonsten versuchen beide Server, in
dieselbe Logdatei zu schreiben.
ACHTUNG: Normalerweise sollten Sie nie zulassen, dass zwei Server Daten in derselben
Datenbank aktualisieren! Wenn Ihr Betriebssystem kein fehlerfreies System-Sperren (Sys-
tem Locking) unterst¨utzt, f¨uhrt das zu unliebsamen
¨
Uberraschungen!
Wenn Sie f¨ur den zweiten Server ein anderes Datenbankverzeichnis benutzen wollen, k¨onnen
Sie das mit der --datadir=path-Option f¨ur safe_mysqld angeben.
Kommentare zu diesen Handbüchern