Bei der Windows NT-Familie (Windows NT, 2000, XP, 2003) besteht die empfohlene Methode zur Ausführung von MySQL in der Installation als Dienst, wobei MySQL automatisch mit Windows gestartet und beendet wird. Ein MySQL Server, der als Dienst installiert ist, lässt sich mithilfe von NET über die Befehlszeile oder über das grafische Hilfsprogramm Dienste steuern.
Das Hilfsprogramm Dienste (der Service Control Manager von Windows) lässt sich über die Windows-Systemsteuerung aufrufen (Abschnitt Verwaltung bei Windows 2000, XP und Server 2003). Um Konflikte zu vermeiden, ist es ratsam, das Hilfsprogramm Dienste während der Serverinstallation oder Löschaktionen über die Befehlszeile zu schließen.
Bevor Sie MySQL als Windows-Dienst installieren, sollten Sie zunächst mit dem folgenden Befehl den aktuellen Server beenden, sofern dieser ausgeführt wird:
C:\> "C:\Programme\MySQL\MySQL Server 5.1\bin\mysqladmin" -u root shutdown
Hinweis: Wenn das
MySQL-Benutzerkonto root
ein Passwort
aufweist, müssen Sie mysqladmin mit der
Option -p
aufrufen und das Passwort auf
Aufforderung angeben.
Mit diesem Befehl rufen Sie das
MySQL-Administrationshilfsprogramm mysqladmin
auf, welches eine Verbindung zum Server herstellt und das
Herunterfahren auslöst. Der Befehl stellt die Verbindung als
MySQL-Benutzer root
her. Dies ist das
standardmäßige Administratorenkonto im MySQL-Grant-System.
Beachten Sie, dass Benutzer im MySQL-Grant-System nichts mit den
Benutzerkonten zu tun haben, über die man sich am
Windows-System anmeldet.
Installieren Sie den Server mit dem folgenden Befehl als Dienst:
C:\> "C:\Programme\MySQL\MySQL Server 5.1\bin\mysqld" --install
Mit dem Befehl zur Dienstinstallation wird der Server nicht gestartet. Hinweise zum Start finden Sie in einem späteren Abschnitt.
Um den Aufruf von MySQL-Programmen zu erleichtern, können Sie
den Pfadnamen des MySQL-Verzeichnisses bin
zur Umgebungsvariable PATH
Ihres
Windows-Systems hinzufügen:
Klicken Sie auf dem Windows-Desktop mit der rechten Maustaste auf das Symbol Arbeitsplatz und wählen Sie Eigenschaften.
Wählen Sie nun im angezeigten Fenster Systemeigenschaften die Registerkarte Erweitert und klicken Sie auf die Schaltfläche Umgebungsvariablen.
Unter Systemvariablen wählen Sie Path und klicken dann auf die Schaltfläche Bearbeiten. Das Dialogfeld Systemvariable bearbeiten erscheint.
Setzen Sie den Cursor an das Ende des im Feld Wert
der Variablen gezeigten Texts (betätigen Sie die
Taste Ende, um sicherzustellen, dass der
Cursor tatsächlich ans Ende des Textes in diesem Textfeld
gesetzt wird). Geben Sie nun den vollständigen Pfadnamen
Ihres MySQL-Verzeichnisses bin
ein
(beispielsweise C:\Programme\MySQL\MySQL Server
5.1\bin
). Achten Sie dabei darauf,
dass dieser Pfad durch ein Semikolon von den übrigen Werten
in diesem Feld abgetrennt ist. Bestätigen Sie nun alle
angezeigten Dialogfelder nacheinander durch Anklicken der
jeweiligen Schaltflächen OK, bis
keine offenen Dialogfelder mehr angezeigt werden. Sie
sollten jetzt aus jedem beliebigen Verzeichnis heraus jedes
ausführbare MySQL-Programm durch Eingabe seines Namens an
der DOS-Eingabeaufforderung starten können, ohne den
vollständigen Pfad angeben zu müssen. Dies betrifft die
Server, den mysql-Client und alle
befehlszeilenbasierten MySQL-Hilfsprogramme wie
mysqladmin und
mysqldump.
Wenn Sie mehrere MySQL Server auf Ihrem System betreiben,
sollten Sie das MySQL-Verzeichnis bin
nicht der Windows-Umgebungsvariablen PATH
hinzufügen.
Warnung: Bei der manuellen
Editierung der Umgebungsvariablen PATH
müssen Sie größte Vorsicht walten lassen: Wenn Sie einen Teil
des Werts von PATH
versehentlich löschen
oder ändern, kann das System instabil oder sogar unbrauchbar
werden.
Bei der Installation des Dienstes können die folgenden zusätzlichen Argumente in MySQL 5.1 verwendet werden:
Sie können unmittelbar auf die Option
--install
einen Dienstnamen angeben. Der
Standardname für den Dienst lautet
MySQL
.
Wird ein Name für den Dienst angegeben, so kann genau eine
weitere Option folgen. Konventionsgemäß ist dies
--defaults-file=
;
hierdurch wird der Name einer Optionsdatei angegeben, die
der Server beim Start auslesen soll.
file_name
Sie können statt --defaults-file
auch eine
beliebige andere Option angeben, doch dies wird nicht
empfohlen. --defaults-file
ist flexibler,
da es Ihnen die Festlegung einer Vielzahl von Startoptionen
für den Server gestattet, die einfach in der spezifizierten
Optionsdatei abgelegt werden.
Sie können auch eine Option
--local-service
gefolgt vom Dienstnamen
angeben. In diesem Fall wird der Server über das
Windows-Konto LocalService
ausgeführt,
welches über eingeschränkte Systemberechtigungen verfügt.
Dieses Konto ist nur unter Windows XP oder höher
vorhanden. Werden beide Optionen
--defaults-file
und
--local-service
auf den Dienstnamen folgend
angegeben, dann ist die Reihenfolge unerheblich.
Bei einem MySQL Server, der als Windows-Dienst installiert ist, bestimmen die folgenden Grundsätze den Dienstnamen und die vom Server verwendeten Optionsdateien:
Wenn der Dienstinstallationsbefehl keinen Dienstnamen oder
den Vorgabenamen (MySQL
) gefolgt von der
Option --install
angibt, dann verwendet der
Server den Dienstnamen MySQL
und liest
seine Optionen aus dem Abschnitt [mysqld]
der Standardoptionsdateien aus.
Wurde im Dienstinstallationsbefehl ein anderer Dienstname
als MySQL
gefolgt von der Option
--install
angegeben, dann verwendet der
Server diesen anderen Namen. Die Optionen werden dann aus
dem Abschnitt in den Standardoptionsdateien ausgelesen, der
den gleichen Namen hat wie der Dienst selbst.
Außerdem liest der Server auch den Abschnitt
[mysqld]
in den Standardoptionsdateien
aus. 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.
Wenn im Dienstinstallationsbefehl die Option
--defaults-file
auf den Dienstnamen folgend
angegeben wird, liest der Server nur die Optionen im
Abschnitt [mysqld]
der angegebenen Datei
aus und ignoriert die Standardoptionsdateien.
Nehmen wir einmal den folgenden Befehl als ein etwas komplexeres Beispiel:
C:\>"C:\Programme\MySQL\MySQL Server 5.1\bin\mysqld"
--install MySQL --defaults-file=C:\my-opts.cnf
Hier wird der Standarddienstname (MySQL
) auf
die Option --install
folgend angegeben. Wäre
keine Option --defaults-file
vorhanden, dann
würde dieser Befehl dafür sorgen, dass der Server den
Abschnitt [mysqld]
in den
Standardoptionsdateien ausliest. Da allerdings die Option
--defaults-file
angegeben ist, liest der Server
die Optionen im Abschnitt [mysqld]
der
spezifizierten Datei.
Sie können Optionen auch als Startparameter im Windows-Hilfsprogramm Dienste festlegen, bevor Sie den MySQL-Dienst starten.
Wurde ein MySQL Server als Dienst installiert, dann startet Windows den Dienst automatisch beim Systemstart. Der Dienst lässt sich auch direkt aus dem Hilfsprogramm Dienste oder mithilfe des Befehls NET START MySQL starten. Der NET-Befehl unterscheidet hierbei keine Groß-/Kleinschreibung.
Wenn mysqld als Dienst ausgeführt wird, hat
es keinen Zugriff auf ein Konsolenfenster; insofern werden keine
Meldungen angezeigt. Wenn mysqld nicht
startet, kontrollieren Sie, ob der Server im Fehlerlog Meldungen
eingetragen hat, die auf die Ursache des Problems schließen
lassen. Das Fehlerlog befindet sich im MySQL-Datenverzeichnis
(z. B. C:\Programme\MySQL\MySQL Server
5.1\data
). Es handelt sich um die Datei
mit der Erweiterung .err
.
Wenn ein MySQL Server als Dienst installiert wurde und dieser
Dienst ausgeführt wird, beendet Windows ihn automatisch beim
Herunterfahren. Der Server kann auch manuell im Hilfsprogramm
Dienste
, mit dem Befehl NET STOP
MySQL oder dem Befehl mysqladmin
shutdown beendet werden.
Außerdem haben Sie die Möglichkeit, den Server als manuellen
Dienst zu installieren, wenn Sie nicht wollen, dass der Dienst
beim Hochfahren automatisch gestartet wird. Verwenden Sie zu
diesem Zweck die Option --install-manual
statt
--install
:
C:\> "C:\Programme\MySQL\MySQL Server 5.1\bin\mysqld" --install-manual
Um einen Server zu entfernen, der als Dienst installiert ist,
beenden Sie ihn zunächst, sofern er noch ausgeführt wird;
hierzu verwenden Sie den Befehl NET STOP
MYSQL. Danach entfernen Sie ihn mit der Option
--remove
:
C:\> "C:\Programme\MySQL\MySQL Server 5.1\bin\mysqld" --remove
Wenn mysqld nicht als Dienst ausgeführt wird, können Sie ihn über die Befehlszeile starten. Informationen zur Vorgehensweise finden Sie in Abschnitt 2.3.11, „Starten von MySQL von der Windows-Befehlszeile“.
Bitte schlagen Sie in Abschnitt 2.3.14, „Troubleshooting einer MySQL-Installation unter Windows“, nach, wenn Sie bei der Installation Probleme haben sollten.
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.