MySql #2003 Fehler
am 28.06.2006 00:14:05 von Carl Weyer
Guten Abend,
gerade startete ich phpmyadmin und wurde mit der Fehlermeldung #2003
überrascht: "Can't connect to MySQL server on 'localhost' (10061)". Ich
schaute in der Verwaltung nach und sah, daß der mysql-Dienst nicht
gestartet war. Beim Versuch ihn zu starten erhielt ich die Meldung "Der
Dienst ... konnte nicht gestartet werden. Fehler 1067: Der Prozess wurde
unerwartet beendet."
Was kann ich tun, um mysql wieder ans Laufen zu bringen?
(phpMyAdmin 2.6.0-pl3, mysql server 4.1, windows xp pro, sp2)
Wenn ich in der falschen Gruppe gelandet bin, bitte ich um
Entschuldigung. Wenn nicht, würde ich mich über Vorschläge freuen.
Vielen Dank
Carl
Re: MySql #2003 Fehler
am 28.06.2006 07:10:35 von Andreas Kretschmer
Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de
Re: MySql #2003 Fehler
am 28.06.2006 10:27:19 von Andreas Kretschmer
Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de
Re: MySql #2003 Fehler
am 28.06.2006 10:29:20 von Carl Weyer
Andreas Kretschmer schrieb:
> Auch wenn Du betriebssystemmäßig behindert bist: Google existiert.
>
> Ergebnisse 1 - 10 von ungefähr 146 für mysql konnte nicht gestartet
> werden. Fehler 1067: Der Prozess. (0,31 Sekunden)
Schön, daß du das nur aufs Betriebssystem beziehst :-)
Ich hatte nach dem Fehler 2003 gegoogelt und nur wenig gefunden. Danke
für den Hinweis
Carl
Re: MySql #2003 Fehler
am 28.06.2006 11:04:48 von Christian Kirsch
Carl Weyer schrieb:
> Hallo,
>
> in der Ereignisanzeige fand ich die folgenden Erklärungen:
>
> 1) Pfad\MySQL\MySQL Server 4.1\bin\mysqld-nt: Can't find file:
> 'host.MYI' (errno: 2)
>
> 2) Fatal error: Can't open privilege tables: File '.\mysql\host.MYD' not
> found (Errcode: 2)
>
> Die erste Datei ist definitiv vorhanden, die zweite nicht. Ich habe mal
> (Google) eine leere host.myd erstellt und ins Verzeichnis gespielt, das
> ändert aber leider nichts.
>
Yuck. Sowas steht in Google? Dann vielleicht doch erstmal das Original
lesen bei dev.mysql.com unter "Documentation".
Zur Erklärung: mysql/host.MYD und mysql/host/MYI sind für die
host-abhängigen Zugangsberechtigungen zuständig. Wenn die also nicht
da (oder leer!) sind, kann es nicht funktionieren. Bleibt die Frage:
Was hast Du *getan*? Was steht im (Error-)Log von MySQL, das das
Verschwinden dieser Dateien erklären könnte? Hast Du das
Datenverzeichnis von MySQL geändert, sodass es die Dateien jetzt nicht
mehr findet?
Re: MySql #2003 Fehler
am 28.06.2006 11:44:04 von Axel Schwenke
Carl Weyer wrote:
>
> in der Ereignisanzeige fand ich die folgenden Erklärungen:
>
> 1) Pfad\MySQL\MySQL Server 4.1\bin\mysqld-nt: Can't find file:
> 'host.MYI' (errno: 2)
Das hätte ich eher im MySQL-Errorlog erwartet. Diese Fehlermeldung
bekommst du, wenn mysqld die *wichtige* 'mysql' Datenbank mit u.a.
MySQL-Accounts nicht findet. Allerdings ist das ein *Folgefehler*
> Die erste Datei ist definitiv vorhanden, die zweite nicht. Ich habe mal
> (Google) eine leere host.myd erstellt und ins Verzeichnis gespielt, das
> ändert aber leider nichts.
Das Problem mit Google ist, daß es nicht unterscheiden kann zwischen
"wertvoller Hinweis der den Suchbegriff enthält" und "Schwachsinn der
den Suchbegriff enthält". Für diese Unterscheidung bedarf es
natürlicher Intelligenz - die müßtest du schon liefern.
Ich habe auch mal über die Google-Treffer geschaut (aus Neugier). In
manchen Fällen schien die Ursache darin zu bestehen, daß in my.ini
der Unix-Pfadseparator / statt des Win.DOS Pfadseparators \ verwendet
wird. In der Folge werden wichtige Files nicht gefunden. Eventuell
möchtest du das mal überprüfen.
BTW, welche MySQL-Version ist das? Woher hast du das Paket?
XL
Re: MySql #2003 Fehler
am 28.06.2006 11:47:08 von Carl Weyer
Hallo,
in der Ereignisanzeige fand ich die folgenden Erklärungen:
1) Pfad\MySQL\MySQL Server 4.1\bin\mysqld-nt: Can't find file:
'host.MYI' (errno: 2)
2) Fatal error: Can't open privilege tables: File '.\mysql\host.MYD' not
found (Errcode: 2)
Die erste Datei ist definitiv vorhanden, die zweite nicht. Ich habe mal
(Google) eine leere host.myd erstellt und ins Verzeichnis gespielt, das
ändert aber leider nichts.
Noch eine Idee?
Carl
Re: MySql #2003 Fehler
am 28.06.2006 12:22:39 von Christian Kirsch
Carl Weyer schrieb:
> Axel Schwenke schrieb:
>> Ich habe auch mal über die Google-Treffer geschaut (aus Neugier). In
>> manchen Fällen schien die Ursache darin zu bestehen, daß in my.ini
>> der Unix-Pfadseparator / statt des Win.DOS Pfadseparators \ verwendet
>> wird. In der Folge werden wichtige Files nicht gefunden. Eventuell
>> möchtest du das mal überprüfen.
>
> Das habe ich auch schon ausprobiert, hat leider nichts gebracht. Dennoch
> danke für den Hinweis. In der Tat habe ich / in der my.ini stehen, aber
> das hat bis zum 12.6. ja funktioniert.
>
>> BTW, welche MySQL-Version ist das? Woher hast du das Paket?
>
> Es ist die Version 4.1 und ich habe sie seinerzeit von mysql.com
> heruntergeladen. Gerade habe ich die Mysql server instance configuration
> noch einmal laufen lassen. Das Ergebnis:
>
> prepare configuration - ok
> write configuration file - ok
> restart service - no
>
> The service could not be started. Error: 0
In einem ersten Schritt könntest Du ja einfach das Backup der Dateien
wieder einspielen.
Re: MySql #2003 Fehler
am 28.06.2006 12:57:51 von Carl Weyer
Christian Kirsch schrieb:
> Yuck. Sowas steht in Google? Dann vielleicht doch erstmal das Original
> lesen bei dev.mysql.com unter "Documentation".
> Zur Erklärung: mysql/host.MYD und mysql/host/MYI sind für die
> host-abhängigen Zugangsberechtigungen zuständig. Wenn die also nicht
> da (oder leer!) sind, kann es nicht funktionieren. Bleibt die Frage:
> Was hast Du *getan*? Was steht im (Error-)Log von MySQL, das das
> Verschwinden dieser Dateien erklären könnte? Hast Du das
> Datenverzeichnis von MySQL geändert, sodass es die Dateien jetzt nicht
> mehr findet?
Danke für die Erklärung!
Im Error-Log ist zu sehen, daß bis zum 12.6. alles ok lief und am 13.6.
erstmals die Dateien MYI und MYD nicht gefunden werden konnten. Das
Datenverzeichnis habe ich nicht geändert, aber sicherlich irgendeinen
anderen Blödsinn gemacht. Ich weiß nur nicht welchen :((
Es gibt wohl nur die Neuinstallation?
Gruß
Carl
Re: MySql #2003 Fehler
am 28.06.2006 13:18:33 von Carl Weyer
Axel Schwenke schrieb:
> Ich habe auch mal über die Google-Treffer geschaut (aus Neugier). In
> manchen Fällen schien die Ursache darin zu bestehen, daß in my.ini
> der Unix-Pfadseparator / statt des Win.DOS Pfadseparators \ verwendet
> wird. In der Folge werden wichtige Files nicht gefunden. Eventuell
> möchtest du das mal überprüfen.
Das habe ich auch schon ausprobiert, hat leider nichts gebracht. Dennoch
danke für den Hinweis. In der Tat habe ich / in der my.ini stehen, aber
das hat bis zum 12.6. ja funktioniert.
> BTW, welche MySQL-Version ist das? Woher hast du das Paket?
Es ist die Version 4.1 und ich habe sie seinerzeit von mysql.com
heruntergeladen. Gerade habe ich die Mysql server instance configuration
noch einmal laufen lassen. Das Ergebnis:
prepare configuration - ok
write configuration file - ok
restart service - no
The service could not be started. Error: 0
Gruß
Carl
Re: MySql #2003 Fehler
am 28.06.2006 13:34:09 von Carl Weyer
Christian Kirsch schrieb:
> In einem ersten Schritt könntest Du ja einfach das Backup der Dateien
> wieder einspielen.
Zu spät - habe ich letzte Woche kopiert, aber da war's schon geschehen.
Re: MySql #2003 Fehler
am 28.06.2006 13:59:03 von Axel Schwenke
Carl Weyer wrote:
> Axel Schwenke schrieb:
>> Ich habe auch mal über die Google-Treffer geschaut (aus Neugier). In
>> manchen Fällen schien die Ursache darin zu bestehen, daß in my.ini
>> der Unix-Pfadseparator / statt des Win.DOS Pfadseparators \ verwendet
>> wird. In der Folge werden wichtige Files nicht gefunden. Eventuell
>> möchtest du das mal überprüfen.
>
> Das habe ich auch schon ausprobiert, hat leider nichts gebracht. Dennoch
> danke für den Hinweis. In der Tat habe ich / in der my.ini stehen, aber
> das hat bis zum 12.6. ja funktioniert.
Womöglich wurde *diese* my.ini ja nicht verwendet zu diesem Zeitpunkt.
Ich bin jetzt nicht so wahnsinnig vertraut mit dem ganzen "wie-startet-
man-einen-Service" Geschichten auf Windoze. Aber du kannst mysqld.exe
die zu verwendende my.ini explizit auf der Kommandozeile sagen *oder*
mysqld.exe verwendet den einkompilierten Default. Wenn beide my.ini
existieren, sich aber unterscheiden, könnte das die Inkonsistenz der
Ergebnisse erklären. Auf jeden Fall wird es mit Unix-Pfadseparatoren
in my.ini garantiert nicht funktionieren.
Aufgabe für dich: finde alle my.ini auf deinem System und lösche alle
bis auf die richtige. Die richtige ist die, in der basedir und datadir
deinen Gegebenheiten entsprechen und der Windoze Pfadseparator
verwendet wird. Stelle sicher, daß mysqld.exe diese my.ini benutzt.
>> BTW, welche MySQL-Version ist das? Woher hast du das Paket?
>
> Es ist die Version 4.1 und ich habe sie seinerzeit von mysql.com
> heruntergeladen. Gerade habe ich die Mysql server instance configuration
> noch einmal laufen lassen. Das Ergebnis:
>
> prepare configuration - ok
> write configuration file - ok
> restart service - no
>
> The service could not be started. Error: 0
Das sieht dann schwer nach einem Bug aus. Wenn es eine neue 4.1er gibt,
dann probiere die doch mal aus. Wenn der Fehler immer noch drin ist,
dann schreib einen Bugreport: bugs.mysql.com
XL
Re: MySql #2003 Fehler
am 28.06.2006 14:38:00 von Carl Weyer
So, nun läuft's wieder. Ich habe neu installiert und die alten Daten
(außer mysql) eingespielt. Danke für die Hinweise!
Gruß
Carl
Re: MySql #2003 Fehler
am 28.06.2006 15:06:46 von Carl Weyer
Axel Schwenke schrieb:
> Aufgabe für dich: finde alle my.ini auf deinem System und lösche alle
> bis auf die richtige. Die richtige ist die, in der basedir und datadir
> deinen Gegebenheiten entsprechen und der Windoze Pfadseparator
> verwendet wird. Stelle sicher, daß mysqld.exe diese my.ini benutzt.
Hallo Axel,
eine my.ini habe ich gefunden, in der es heißt:
#Path to installation directory. All paths are usually resolved relative
to this.
basedir="Pfad/MySQL/MySQL Server 5.0/"
#Path to the database root
datadir="Pfad/MySQL/MySQL Server 5.0/Data/"
Das funktioniert.
Carl
Re: MySql #2003 Fehler
am 28.06.2006 21:52:19 von Thomas Rachel
Axel Schwenke wrote:
> Auf jeden Fall wird es mit Unix-Pfadseparatoren in my.ini garantiert nicht
> funktionieren.
Wer garantiert das? Werden diese bei MySQL etwa tatsächlich herausgefiltert
und zum Nicht-funktionieren gebracht? Denn die WinAPI-Funktionen können
definitiv mit '/' anstelle von '\' umgehen...
Thomas
Re: MySql #2003 Fehler
am 28.06.2006 23:25:48 von Axel Schwenke
Thomas Rachel wrote:
> Axel Schwenke wrote:
>
>> Auf jeden Fall wird es mit Unix-Pfadseparatoren in my.ini garantiert nicht
>> funktionieren.
>
> Wer garantiert das? Werden diese bei MySQL etwa tatsächlich herausgefiltert
> und zum Nicht-funktionieren gebracht? Denn die WinAPI-Funktionen können
> definitiv mit '/' anstelle von '\' umgehen...
Asche auf mein Haupt. Ich sollte lieber erst mal ins Manual schauen,
ehe ich mich so bestimmt ausdrücke. Aaaalso:
In my.ini kann auch \ als Pfadseparator verwendet werden, muß dann
aber *doppelt* geschrieben werden, weil \* als Escape-Sequenz im
C-Stil geparst wird. Also entweder:
datadir=c:/Programme/MySQL/data oder
datadir=c:\\Programme\\MySQL\\data
Das gleiche gilt dann auch für Pfadangaben in SQL (z.B. SELECT ...
INTO OUTFILE ...)
XL
Re: MySql #2003 Fehler
am 29.06.2006 12:54:51 von Sibylle Koczian
Carl Weyer schrieb:
> Axel Schwenke schrieb:
>=20
>> Aufgabe für dich: finde alle my.ini auf deinem System und lösche a=
lle
>> bis auf die richtige. Die richtige ist die, in der basedir und datadir=
>> deinen Gegebenheiten entsprechen und der Windoze Pfadseparator
>> verwendet wird. Stelle sicher, daß mysqld.exe diese my.ini benutzt.
>=20
>=20
> Hallo Axel,
>=20
> eine my.ini habe ich gefunden, in der es heißt:
>=20
> #Path to installation directory. All paths are usually resolved relativ=
e
> to this.
> basedir=3D"Pfad/MySQL/MySQL Server 5.0/"
>=20
> #Path to the database root
> datadir=3D"Pfad/MySQL/MySQL Server 5.0/Data/"
>=20
> Das funktioniert.
>=20
Sieht aber nach Version 5 aus, und bisher hast Du von 4.1 gesprochen?
--=20
Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Sibylle.Koczian@Bibliothek.Uni-Augsburg.DE
Re: MySql #2003 Fehler
am 29.06.2006 15:17:41 von Carl Weyer
Sibylle Koczian schrieb:
> Sieht aber nach Version 5 aus, und bisher hast Du von 4.1 gesprochen?
Ich bin von 4.1 auf 5 umgestiegen.
Carl Weyer