MySQL startet auf einmal nicht mehr

MySQL startet auf einmal nicht mehr

am 22.03.2006 17:27:37 von Sibylle Koczian

Liebe Leut',

ich benutze MySQL 4.1.13-3.2 unter SUSE 10.0, und zwar die
mitgelieferten Pakete bzw. das, was beim YaST Online-Update aus ihnen
wird. Da ich nicht sehr viel damit anstelle, starte ich den Server
manuell (lasse ihn dann allerdings meist bis zum Herunterfahren des
Rechners laufen und stoppe ihn nicht explizit).

Bisher nie ein Problem, aber jetzt: Starten des Servers wird mit der
üblichen Erfolgsmeldung quittiert, aber dann misslingt die Verbindung,
"ps -a | grep mysqld" zeigt nichts an und ein Blick auf mysqld.log
fördert einigermaßen Unerwartetes zutage:

mysqld started
/usr/sbin/mysqld: Can't read dir of '/var/lib/mysql/tmp/' (Errcode: 2)
/usr/sbin/mysqld: Can't create/write to file
'/var/lib/mysql/tmp/ibN6V7fa' (Errcode: 2)
InnoDB: Error: unable to create temporary file: errno: 2
[ERROR] Can't init databases
[ERROR] Aborting
[Note] /usr/sbin/mysqld: Shutdown complete
mysqld ended

Dann ist der Rest kein Wunder. Das Verzeichnis /var/lib/mysql/tmp
existiert tatsächlich nicht, ich weiß aber nicht, ob es jetzt sehr kl=
ug
wäre, es einfach anzulegen. In /var/lib/mysql gehört eigentlich alles=

dem Benutzer mysql und nicht mir (auch nicht in meiner Eigenschaft als
root), d.h. hier arbeitet normalerweise der Server und niemand sonst
(stimmt doch?).

Irritierend ist auch: keine Datenbank auf diesem Rechner benutzt InnoDB,
der entsprechende Abschnitt in my.cnf ist komplett auskommentiert (und
von mir noch niemals angefasst).

Ich kann mir nur zwei Anlässe für das Verhalten denken: das letzte
Online-Update (ich kann mich nicht erinnern, ob dabei MySQL-Pakete
beteiligt waren) oder ein Eifersuchtsanfall, weil ich zusätzlich
Firebird installiert habe. Das starte ich aber auch nur zu Fuß und
bisher nie gleichzeitig mit MySQL. Im übrigen habe ich unter Windows mi=
t
dieser Koexistenz keine schlechten Erfahrungen gemacht.

Wer weiß mehr? Dass das Ganze passiert ist, als es ausnahmsweise mal
wirklich pressiert hat, muss ich ja wohl nicht eigens erwähnen.

Koczian

--=20
Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Sibylle.Koczian@Bibliothek.Uni-Augsburg.DE

Re: MySQL startet auf einmal nicht mehr

am 22.03.2006 18:17:06 von Thomas Rachel

Sibylle Koczian wrote:

> ... und ein Blick auf mysqld.log
> fördert einigermaßen Unerwartetes zutage:
>
> mysqld started
> /usr/sbin/mysqld: Can't read dir of '/var/lib/mysql/tmp/' (Errcode: 2)
> /usr/sbin/mysqld: Can't create/write to file
> '/var/lib/mysql/tmp/ibN6V7fa' (Errcode: 2)

> Dann ist der Rest kein Wunder. Das Verzeichnis /var/lib/mysql/tmp
> existiert tatsächlich nicht, ich weiß aber nicht, ob es jetzt sehr klug
> wäre, es einfach anzulegen.

Schaden wird es wohl nicht - aber Du darfst dann jetzt keine Datenbank mehr
tmp nennen, sonst könnte es darin zu Problemen kommen.

Mach mal

ls -l /etc/my.cnf* - ist da eine rpmsave oder sowas dabei?


Evtl. hat das Update zu einem Überschreiben der .cnf geführt, und dort einen
Eintrag der Form

tmpdir = /var/lib/mysql/tmp/
oder einfach nur
tmpdir = tmp/

(ich tippe auf zweiteres - vergessener '/' vor dem tmp)


Thomas

Re: MySQL startet auf einmal nicht mehr

am 24.03.2006 08:17:41 von Sibylle Koczian

Thomas Rachel schrieb:
> Sibylle Koczian wrote:
>=20
>=20
>>... und ein Blick auf mysqld.log
>>fördert einigermaßen Unerwartetes zutage:
>>
>>mysqld started
>>/usr/sbin/mysqld: Can't read dir of '/var/lib/mysql/tmp/' (Errcode: 2)
>>/usr/sbin/mysqld: Can't create/write to file
>>'/var/lib/mysql/tmp/ibN6V7fa' (Errcode: 2)
>=20
>=20
> Mach mal
>=20
> ls -l /etc/my.cnf* - ist da eine rpmsave oder sowas dabei?
>=20
>=20
> Evtl. hat das Update zu einem Überschreiben der .cnf geführt, und d=
ort einen
> Eintrag der Form
>=20
> tmpdir =3D /var/lib/mysql/tmp/
> oder einfach nur
> tmpdir =3D tmp/
>=20
> (ich tippe auf zweiteres - vergessener '/' vor dem tmp)
>=20

Vielen Dank, das war der entscheidende Hinweis. Ees sah etwas anders
aus: keine rpmsave o.ä., vermutlich deshalb, weil ich die ursprünglic=
he
my.cnf nicht angefasst hatte, und dann wird sie ja lt. Suse-Handbuch
einfach ersetzt. Aber in der aktuellen my.cnf war der tmpdir-Eintrag
auskommentiert. Nachdem ich dies rückgängig gemacht habe, geht es jet=
zt
wieder.

Schönes Wochenende,
Koczian

--=20
Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Sibylle.Koczian@Bibliothek.Uni-Augsburg.DE