Wenn man erstmal weiß, wie es geht, dann ist immer alles ganz einfach. So auch bei der Installation einer MySQL Datenbank auf dem Mac. Um mir die Arbeit in Zukunft noch leichter zu machen, poste ich hier mal meine mini HowTo…
- Download der MySQL DB im “package format” für Mac OS X 10.5. Das hat den Vorteil, dass sich die DB fast komplett automatisch installiert.
- Package starten und der simplen Installationsanleitung folgen.
- Die DB befindet sich nun im Verzeichnis (wobei “mysql” nur ein Alias ist und auf die aktuelle Installation zeigt):
/usr/local/mysql/
- Der Service kann nun gestartet werden mit:
cd /usr/local/mysql/bin sudo ./mysqld_safe&
Der Service sollte jetzt im Hintergrund laufen. Die grundlegende Installation ist nun, ob man es glaubt oder nicht, abgeschlossen. Allerdings sind keine Passwörter gesetzt für den root user und von außen ist der Zugriff auf die DB auch nicht möglich. Um dieses Manko zu beheben, müssen noch einige Einstellungen vorgenommen werden und machen genau da weiter, wo wir aufgehört haben:
- Login in die DB mit (unter /usr/local/mysql/bin):
./mysql -u root
- Da noch kein Passwort gesetzt wurde, sollte man umgehend mit dem mysql server verbunden sein und ihn mit statements füttern können. Welche Nutzer existieren und ob ein Passwort gesetzt ist, kann man herausfinden mit (Passwörter werden in der DB nur als Hashwerte gespeichert):
SELECT host, user, password FROM mysql.user;
- Passwörter können für bestehende User so gesetzt werden:
SET PASSWORD FOR ''@'localhost' = PASSWORD('passwort'); SET PASSWORD FOR 'root'@'localhost' = PASSWORD('passwort'); SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('passwort');
- Damit der Zugriff auch von außen möglich ist, empfiehlt es sich einen neuen Nutzer anzulegen. Das kann man so machen (es wird der Nutzer “mysql” angelegt):
GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost' IDENTIFIED BY 'passwort' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY 'passwort' WITH GRANT OPTION;
Das war’s schon. Das Verbinden zum Server dürfte ab jetzt nur noch möglich sein mit (vorher mit “exit” ausloggen
):
./mysql -u root -p
Wenn man den Service nun noch in der Firewall frei gibt, kann man vom Netzwerk aus auf die DB zugreifen. Zum Entwickeln und Rumspielen reicht das erstmal so. Eine ausführliche Anleitung gibt es natürlich in der Dokumentation vom MySQL Server.
Recent Comments