Problem:

MySQL5 beendet sich sofort nach einem Neustart. Im Logfile steht dann folgender Eintrag:

070120 15:26:05 mysqld started
070120 15:26:06 [ERROR] bdb: unable to initialize mutex: Function not implemented
070120 15:26:06 [ERROR] bdb: process-private: unable to initialize environment lock: Function not implemented
070120 15:26:06 InnoDB: Started; log sequence number 0 18376780
070120 15:26:06 [ERROR] Can't init databases
070120 15:26:06 [ERROR] Aborting

Erklärung:

Entweder ist die Berkley-DB ("bdb") nicht installiert oder in einer älteren Version vorhanden. Letzteres kommt vor allem dann vor, wenn man MySQL5 selbst kompiliert hat oder aus einem Distribution-fremden RPM installiert hat.

Lösung:

a) Man muß MySQL den Parameter --skip-bdb unterjubeln. Entweder man ruft mysql_safe --skip-bdb direkt auf, oder baut geschickter weise diesen in das Start-Script /etc/init.d/mysql ein.

b) Man installiert die passende Version der Berkley-DB. Welche das ist muß man anhand der MySQL-5-Version und den Compileroptionen rausfinden.

Kategorien:

Stichwörter:

mysql · mysql5 · start · script · bdb · mutex · berkley · databases ·