Unter Windows NT-basierten Systemen kann ein MySQL-Server als Windows-Dienst ausgeführt werden. Die Vorgehensweise zum Installieren, Steuern und Entfernen eines einzelnen MySQL-Dienstes sind in Abschnitt 2.3.12, „Starten von MySQL als Windows-Dienst“, beschrieben.
Sie können auch mehrere MySQL-Server als Dienste installieren. In diesem Fall müssen Sie sicherstellen, dass jeder Server neben allen Parametern, die für jeden Server eindeutig sein müssen, auch einen eigenen Dienstnamen verwendet.
Bei der folgenden Anleitung wird davon ausgegangen, dass Sie
den Server mysqld-nt aus zwei verschiedenen
MySQL-Versionen ausführen wollen, die in
C:\mysql-5.0.19
bzw.
C:\mysql-5.1.5-alpha
installiert
sind. (Dies kann etwa der Fall sein, wenn Sie Version 5.0.19
als Produktionsserver ausführen und gleichzeitig Tests mit
Version 5.1.5-alpha durchführen wollen.)
Die folgenden Prinzipien finden Anwendung, wenn Sie einen
MySQL-Dienst mit der Option --install
oder
--install-manual
installieren:
Wenn Sie keinen Dienstnamen angeben, verwendet der Server
den Standarddienstnamen MySQL
und liest
seine Optionen aus dem Abschnitt
[mysqld]
in den Standardoptionsdateien
aus.
Geben Sie hingegen auf die Option
--install
folgend einen Dienstnamen an,
dann ignoriert der Server den Abschnitt
[mysqld]
und liest stattdessen die
Optionen aus dem Abschnitt aus, der den gleichen Namen wie
der Dienst hat. Der Server liest Optionen aus den
Standardoptionsdateien aus.
Wenn Sie eine Option --defaults-file
auf
den Dienstnamen folgend angeben, ignoriert der Server die
Standardoptionsdateien und liest seine Optionen aus dem
Abschnitt [mysqld]
der benannten Datei
aus.
Hinweis: Vor MySQL 4.0.17
wird der Abschnitt [mysqld]
in den
Standardoptionsdateien nur dann vom Server gelesen, wenn
dieser mit dem Standarddienstnamen (MySQL
)
oder dem explizit angegebenen Dienstnamen
mysqld installiert wurde. Ab Version 4.0.17
lesen alle Server, falls sie die Standardoptionsdateien
auslesen, den Abschnitt [mysqld]
. Dies gilt
auch für Server, die mit einem anderen Dienstnamen
installiert wurden. Sie können den Abschnitt
[mysqld]
also für diejenigen Optionen
verwenden, die allen MySQL-Diensten gemeinsam sind, und
zusätzlich einen Abschnitt mit dem Namen eines bestimmten
Dienstes konfigurieren, der dann von dem Server benutzt wird,
der mit diesem Dienstnamen installiert wurde.
Basierend auf diesen Informationen stehen Ihnen verschiedene Möglichkeiten zur Verfügung, mehrere Dienste einzurichten. Die folgende Anleitung beschreibt einige Beispiele. Bevor Sie jedoch eines davon ausprobieren, fahren Sie alle vorhandenen MySQL-Dienste herunter und entfernen Sie sie.
Methode 1: Geben Sie die
Optionen für alle Dienste in einer der
Standardoptionsdateien an. Verwenden Sie zu diesem Zweck
einen anderen Dienstnamen für jeden Server. Angenommen,
Sie wollen mysqld-nt aus Version 5.0.19
mit dem Dienstnamen mysqld1
und
mysqld-nt aus Version 5.1.5-alpha
mit dem Dienstnamen mysqld2
ausführen.
In diesem Fall können Sie den Abschnitt
[mysqld1]
für Version 5.0.19 und den
Abschnitt [mysqld2]
für Version
5.1.5-alpha verwenden. Sie können
C:\my.cnf
etwa wie folgt
konfigurieren:
# options for mysqld1 service [mysqld1] basedir = C:/mysql-5.0.19 port = 3307 enable-named-pipe socket = mypipe1 # options for mysqld2 service [mysqld2] basedir = C:/mysql-5.1.5-alpha port = 3308 enable-named-pipe socket = mypipe2
Installieren Sie die Dienste wie folgt und verwenden Sie dabei die vollständigen Serverpfadnamen, um sicherzustellen, dass Windows für jeden Dienst die korrekte ausführbare Datei registriert:
C:\>C:\mysql-5.0.19\bin\mysqld-nt --install mysqld1
C:\>C:\mysql-5.1.5-alpha\bin\mysqld-nt --install mysqld2
Um die Dienste zu starten, verwenden Sie den Dienste-Manager oder NET START mit den entsprechenden Dienstnamen:
C:\>NET START mysqld1
C:\>NET START mysqld2
Um die Dienste zu beenden, verwenden Sie den Dienste-Manager oder NET STOP mit den entsprechenden Dienstnamen:
C:\>NET STOP mysqld1
C:\>NET STOP mysqld2
Methode 2: Sie geben Sie
Optionen für jeden Server in einer separaten Datei an und
geben bei der Installation
--defaults-file
an, um den Servern die
jeweils zu verwendende Datei mitzuteilen. In diesem Fall
sollten die Optionen in jeder Datei in einem Abschnitt
[mysqld]
aufgelistet sein.
Bei dieser Methode erstellen Sie zur Angabe der Optionen
für mysqld-nt aus Version 5.0.19 eine
Datei C:\my-opts1.cnf
, die wie folgt
aussieht:
[mysqld] basedir = C:/mysql-5.0.19 port = 3307 enable-named-pipe socket = mypipe1
Legen Sie nun für mysqld-nt aus
Version 5.1.5-alpha eine zweite Datei namens
C:\my-opts2.cnf
an, die wie folgt
aussieht:
[mysqld] basedir = C:/mysql-5.1.5-alpha port = 3308 enable-named-pipe socket = mypipe2
Installieren Sie die Dienste wie folgt (geben Sie jeden Befehl in eine eigene Zeile ein):
C:\>C:\mysql-5.0.19\bin\mysqld-nt --install mysqld1
--defaults-file=C:\my-opts1.cnf C:\>C:\mysql-5.1.5-alpha\bin\mysqld-nt --install mysqld2
--defaults-file=C:\my-opts2.cnf
Um bei der Installation eines MySQL-Servers als Dienst
eine Option --defaults-file
anzugeben,
müssen Sie der Option den Dienstnamen voranstellen.
Nach der Installation der Dienste starten und beenden Sie sie auf die gleiche Weise wie im vorherigen Beispiel.
Zum Entfernen mehrerer Dienste verwenden Sie für jeden
einzelnen Dienst mysqld --remove und geben
dabei auf die Option --remove
folgend einen
Dienstnamen an. Wenn der Dienst den Standardnamen
(MySQL
) hat, können Sie die Angabe auch
weglassen.
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.