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.