Wenn Sie MySQL zum ersten Mal installieren und ausführen, können bestimmte Fehler auftreten, die verhindern, dass der MySQL Server gestartet wird. Dieser Abschnitt soll Ihnen dabei helfen, einige dieser Fehler zu diagnostizieren und zu beheben.
Ihre erste Ressource bei der Fehlersuche ist das Fehlerlog. Der
MySQL Server verwendet das Fehlerlog zur Aufzeichnung von Daten
zu dem Fehler, der verhindert, dass der Server gestartet werden
kann. Das Fehlerlog befindet sich im Datenverzeichnis, das in
Ihrer Datei my.ini
angegeben ist. Die
Standardposition des Datenverzeichnisses ist
C:\Programme\MySQL\MySQL Server
5.1\data
. Siehe auch
Abschnitt 5.12.1, „Die Fehler-Logdatei“.
Eine andere Informationsquelle zu möglichen Fehlern sind die Konsolenmeldungen, die beim Starten des MySQL-Dienstes angezeigt werden. Verwenden Sie den Befehl NET START mysql an der Befehlszeile, nachdem Sie mysqld als Dienst installiert haben, um Fehlermeldungen anzuzeigen, die beim Start des MySQL Servers als Dienst erzeugt werden. Siehe auch Abschnitt 2.3.12, „Starten von MySQL als Windows-Dienst“.
Die folgenden Beispiele zeigen weitere häufig auftretende Fehlermeldungen, die bei der Installation von MySQL und dem ersten Start des Servers angezeigt werden können:
Wenn der MySQL Server die
mysql
-Berechtigungsdatenbank oder andere
kritische Dateien nicht finden kann, erscheinen Meldungen
folgenden Typs:
System error 1067 has occurred. Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
Solche Meldungen treten häufig auf, wenn das
MySQL-Datenbank- oder das MySQL-Datenverzeichnis nicht an
der Standardposition (C:\Programme\MySQL\MySQL
Server 5.1
bzw.
C:\Programme\MySQL\MySQL Server
5.1\data
) installiert wurde.
Die Situation entsteht, wenn MySQL aktualisiert und in einem neuen Verzeichnis installiert, aber die Konfigurationsdatei nicht an die geänderte Umgebung angepasst wurde. Außerdem kann es zu Konflikten zwischen alten und neuen Konfigurationsdateien kommen. Benennen Sie alte Konfigurationsdateien in jedem Fall um oder löschen Sie sie, bevor Sie MySQL aktualisieren.
Wenn Sie MySQL in ein anderes Verzeichnis als
C:\Programme\MySQL\MySQL Server
5.1
installiert haben, müssen Sie
sicherstellen, dass dies dem MySQL Server bekannt ist.
Hierzu verwenden Sie die Konfigurationsdatei
my.ini
. Die Datei mit dem Namen
my.ini
muss in Ihrem
Windows-Verzeichnis gespeichert sein (normalerweise
C:\WINDOWS
oder
C:\WINNT
). Sie können die exakte
Position der Umgebungsvariable WINDIR
entnehmen. Hierzu geben Sie den folgenden Befehl an der
Befehlszeile ein:
C:\> echo %WINDIR%
Eine Optionsdatei kann mit jedem Texteditor (z. B. dem
Windows-Editor) erstellt und bearbeitet werden. Ist MySQL
beispielsweise in E:\mysql
installiert
und befindet sich das Datenverzeichnis in
D:\MySQLdata
, dann können Sie eine
Optionsdatei erstellen, die einen Abschnitt
[mysqld]
enthält. In diesem geben Sie
die folgenden Werte für die Parameter
basedir
und datadir
an:
[mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=D:/MySQLdata
Beachten Sie, dass Windows-Pfadnamen in Optionsdateien nicht mit Backslashs, sondern mit normalen Schrägstrichen angegeben werden. Wenn Sie Backslashs (umgekehrte Schrägstriche) verwenden, müssen Sie sie doppelt angeben:
[mysqld] # set basedir to your installation path basedir=C:\\Program Files\\MySQL\\MySQL Server 5.1 # set datadir to the location of your data directory datadir=D:\\MySQLdata
Wenn Sie den Wert datadir
in Ihrer
MySQL-Konfigurationsdatei ändern, müssen Sie den Inhalt
des vorhandenen MySQL-Datenverzeichnisses verschieben, bevor
Sie den MySQL Server neu starten.
Siehe auch Abschnitt 2.3.8, „Anlegen einer Optionsdatei“.
Wenn Sie MySQL neu installieren oder aktualisieren, ohne den vorhandenen MySQL-Dienst zu beenden und zu entfernen, und zur Installation den MySQL-Konfigurations-Assistenten verwenden, dann wird unter Umständen folgende Fehlermeldung angezeigt:
Error: Cannot create Windows service for MySql. Error: 0
Dies passiert, wenn der Konfigurations-Assistent einen Dienst zu installieren versucht und einen anderen Dienst gleichen Namens vorfindet.
Eine Lösung dieses Problems besteht darin, bei Verwendung
des Konfigurations-Assistenten einen anderen Dienstnamen als
mysql
auszuwählen. Hierdurch wird der
neue Dienst korrekt installiert. Allerdings bleibt dann ein
veralteter Dienst zurück. Dies ist an sich zwar
unproblematisch, aber trotzdem sollten alte Dienste, die
nicht mehr erforderlich sind, korrekt entfernt werden.
Um den alten mysql
-Dienst permanent zu
entfernen, führen Sie den folgenden Befehl als Benutzer mit
Administratorrechten an der Befehlszeile aus:
C:\> sc delete mysql
[SC] DeleteService SUCCESS
Wenn das Hilfsprogramm sc
bei Ihrer
Windows-Version nicht vorhanden ist, laden Sie das
Hilfsprogramm delsrv
unter
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp
herunter und verwenden Sie die Syntax delsrv
mysql
.
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.