Ich habe einige Tage damit verbracht, MySQL auf meinem iMac mit Mac OS X Leopard 10.5.2 zu installieren. Verwenden wollte ich die offizielle Binary-Version von dev.mysql.com, die derzeit aber leider nur in einer Tiger-kompatiblen Version vorliegt. Da es aber auch eine Version für x86-Prozessoren gibt, sollte einer erfolgreich Inbetriebnahme nicht viel im Wege stehen.
Leider sah es in der Praxis so aus, dass ich mich nicht an der Datenbank nach einem erfolgreichen Start des MySQL-Servers (via mysqld) anmelden konnte. Weder mit gesetztem noch mit leerem (was eigentlich standardmäßig nach einer frischen Installation von MySQL der Fall ist) Passwort liess der Server keinen Login zu.
Regulär wird das initiale Root-Passwort wie folgt festgelegt:
mysqladmin ‑u root password neuespasswortdasichmirausdenke
Quittiert wurde mir dieser Versuch mit folgender Fehlermeldung:
/usr/local/mysql/bin/mysqladmin: connect to server at ‘localhost’ failed
error: ‘Access denied for user ‘root’@‘localhost’ (using password: NO)’
Grund dafür war der so genannte hostname, über den jedes UNIX-System verfügt. Dieser stand bei mir standardmäßig auf “localhost”, obwohl ich ihn in den Sharing-Einstellungen verändert hatte. Warum das so ist, habe ich bis dato nicht rausfinden können. Den Hostnamen kann man an der bash (Finder -> Programme -> Dienstprogramme -> Terminal) mit Eingabe des Befehls “hostname” abrufen. Ändern lässt er sich auch über diesen. Dazu muss man aber Superuser, also root, sein. Die Eingabe der folgenden Befehlssequenz gibt den Hostnamen aus, führt einen Benutzerwechsel zu root durch und setzt den Hostnamen neu:
hostname
su ‑s
hostname meinneuertollerhostname
Erst nach dem korrekten Setzen des Hostnamens sollte die MySQL-Installation durchgeführt werden. Sollte es dafür bereits zu spät sein, muss das Verzeichnis /usr/local/mysql vollständig gelöscht werden. Danach kann man MySQL neu installieren. Das Installationsskript führt direkt nach der Installation ein kleines Skript aus, das die initiale Datenbank installiert. Sollte der Hostname beim Beginn dieses Prozesses noch auf localhost stehen, wird bei der Initialinstallation ein doppelter Eintrag für den Host “localhost” angelegt, was danach zu dem beschriebenen Fehler führt.
Wer jetzt noch das Preference Panel in den Systemeinstellungen zum Laufen bekommen möchte, sollte das Verzeichnis data (/usr/local/mysql/data/) mit nachfolgendem Befehl behandeln:
sudo ‑s
chmod ‑R 777 data/
Diese Befehle sind im Terminal im Verzeichnis /usr/local/mysql/ einzugeben. Nach dieser “Behandlung” sollte das Preference Panel ebenfalls funktionieren, man kann nun also den MySQL-Server über den neuen Punkt in den Systemeinstellungen starten und beenden. Alternativ gibt es im Verzeichnis /usr/local/mysql/support-files das Script mysql.server, das die Parameter stop und start entgegennimmt. Darüber lässt sich der Server auch über die bash beenden und starten.
Sollten einige Ausführungen zu knapp sein und einer ausführlicheren Beschreibung bedürfen, lasst es mich bitte über die Kommentarfunktion wissen. Ich erweitere diese Anleitung dann entsprechend.