MySQL unter Mac

Alles, was MySQL betrifft, kann hier besprochen werden.

MySQL unter Mac

Postby daniel85 » 22. September 2010 22:12

Hallo zusammen,

habe da mal eine Frage, bzw. blicke nicht ganz durch.
Hab Mac OS X 10.5 und dort den Apache inkl. PHP aktiviert. Funktioniert auch beides. Bekomme direkt seit anfang in der phpinfo() angezeigt dass mysql angeblich in der Version 5.0.67 installiert wäre.
Dies wird angezeigt:
Code: Select all
MySQL Support   enabled
Active Persistent Links    0
Active Links    0
Client API version    5.0.67
MYSQL_MODULE_TYPE    external
MYSQL_SOCKET    /var/mysql/mysql.sock
MYSQL_INCLUDE    -I/usr/include/mysql
MYSQL_LIBS    -L/usr/lib/mysql -lmysqlclient


Allerdings habe ich keine mysql Version installiert. Auch mit PHPmyAdmin ist nichts zu verbinden.
Dann hab ich jetzt die MySQL Version 5.1.5 installiert, und über die Systemeinstellung auch den Server gestartet. Über den MySQLWorkbench kann ich eine Verbindung über localhost:3306 einrichten und die Datenbank erreichen.

In der PHP Info wird aber immernoch die 5.0.67 angezeigt, und mit PHP ist auch nichts zu finden, keine Verbindung. In der php.ini ist auch nichts verändert.

Wenn ich im Terminal versuche eine Verbindung aufzubauen mit dem mysql befehl, so bekomme ich nur ein "command not found" zurück, auch im direkten Ordner von mysql wird nur "command not found" ausgegeben. mysql liegt in usr/local/mysql/bin/mysql.

Jemand eine Idee was ich machen kann?
vielen dank für Hilfe :)

MfG
daniel85
 
Posts: 6
Joined: 22. September 2010 21:53

Re: MySQL unter Mac

Postby Nobbie » 22. September 2010 22:43

daniel85 wrote:Bekomme direkt seit anfang in der phpinfo() angezeigt dass mysql angeblich in der Version 5.0.67 installiert wäre.


Nein, das bekommst Du nicht angezeigt.

Du bekommst stattdessen angezeigt, dass der "MySQL Support" (also die Funktionen für mysql in PHP, die sog. API = Application Programming Interface) in PHP aktiviert ist. Damit KANN man auf einen MySQL Server zugreifen (dessen Version nichts mit der API Version zu tun hat). Die Version dieser API ist 5.0.6.7 - das hat ÜBERHAUPT GAR NICHTS mit einer MySQL Version zu tun.

daniel85 wrote: In der PHP Info wird aber immernoch die 5.0.67 angezeigt, und mit PHP ist auch nichts zu finden, keine Verbindung. In der php.ini ist auch nichts verändert.


Das dürfte sich ja nun erledigt haben, jetzt wo Du weißt, dass die Angabe in phpinfo() NICHTS mit MySQL selbst zu tun hat, sondern nur die Programmierschnittstelle anzeigt.

daniel85 wrote:Wenn ich im Terminal versuche eine Verbindung aufzubauen mit dem mysql befehl, so bekomme ich nur ein "command not found" zurück, auch im direkten Ordner von mysql wird nur "command not found" ausgegeben. mysql liegt in usr/local/mysql/bin/mysql.


Das hat nun ganz offensichtlich überhaupt nichts mehr mit PHP zu tun. Wenn das Kommando "mysql" nicht gefunden wird, heißt das lediglich, dass der PATH für die ausführbaren Programme nicht den Ordner /usr/local/mysql/bin enthält (Du hast in Deiner Beschreibung den führenden Slash vergessen).

In so einem Fall kann man einfach den ganzen Pfadnamen im Terminal eingeben, also nicht nur "mysql" sondern wirklich "/usr/local/mysql/bin/mysql".

Du wirst mit ziemlicher Sicherheit dann eine Fehlermeldung bekommen a la "ODBC@localhost permission denied (using password NO)" o.ä.

Rufe das Programm mysql mit der Option --help auf, um eine Hilfe zu bekommen.
Nobbie
 
Posts: 6995
Joined: 09. March 2008 13:04

Re: MySQL unter Mac

Postby daniel85 » 23. September 2010 06:16

Moin,

danke für die Antwort. Habe schonmal was dazu gelernt, das wusste ich nicht. Habe zu dem Thema einiges über google gefunden und dort wurde immer geschrieben, wenn man dann mysql installiert würde man ein ergebnis in der phpinfo unter MySQL finden. Darum war ich schon überrascht in der phpinfo noch vor einer MySQL Installation die Angaben zu finden.

OK, wenn ich einfach mysql am Terminal starte so kommt Command not found, daraufhin musste ich erstmal suchen wo PHP überhaupt liegt. Das habe ich auch geschafft, und wenn ich in den Ordner wechsel und im Ordner von mysql selbst dann aufrufe
Code: Select all
mysql -u root

kommt auch Command not found. Wo kann ich denn den PATH anpassen? Aber, wenn ich direkt in dem mysql Ordner den mysql-Befel ausführe, dann sollte das doch funktionieren oder? Stimmt, das hat nichts mehr mit PHP zu tun, mir geht es in erster Linie erstmal darum überhaupt die mysql DB ans Laufen zu bringen :)

Auf der PHPInfo werden noch einige Pfade mit mysql aufgeführt, z. B. var/mysql, usr/bin/mysql usw. aber keiner zeigt auf den installierten Pfad.

Das Tool MySQL Workbench schaffst ja irgendwie mit den Angaben host = localhost, Port 3306 und benutzer root darauf zuzugreifen, aber sonst kein php oder terminal. schon komisch.
Habe die *.pkg Installation für Mac OS X 10.5 genommen. Bringt es eventuell etwas das ganze nochmal zu installation? Befürchte da, dass hinterher 2mal mysql drauf ist.

MfG
daniel85
 
Posts: 6
Joined: 22. September 2010 21:53

Re: MySQL unter Mac

Postby Nobbie » 23. September 2010 08:35

daniel85 wrote:Wo kann ich denn den PATH anpassen?


Frage das in einem Mac Forum.

daniel85 wrote:Aber, wenn ich direkt in dem mysql Ordner den mysql-Befel ausführe, dann sollte das doch funktionieren oder?


Nein. Nur wenn "." im PATH ist. Wenn Du im Ordner bist, wo das Programm mysql drin liegt, kannst Du "./mysql" eingeben - oder den ganzen Pfadnmamen, aus irgendeinem Grund liest Du mein obiges Posting nicht zu Ende. Da steht doch genau drin, was Du machen musst. Das ist etwas nervig.

daniel85 wrote:Das Tool MySQL Workbench schaffst ja irgendwie mit den Angaben host = localhost, Port 3306 und benutzer root darauf zuzugreifen, aber sonst kein php oder terminal. schon komisch.


Du bist echt kindisch. "Schon komisch" ist Deine Kenntnisfreiheit. Sowohl PHP als auch via Terminal kann problemlos auf MySQL zugreifen. Für PHP startest Du dafür einfach phpmyadmin (oder ein eigenes Programm), für das Terminal die og. angebene Lösung für mysql.
Nobbie
 
Posts: 6995
Joined: 09. March 2008 13:04

Re: MySQL unter Mac

Postby daniel85 » 23. September 2010 08:49

sorry, dass ich überhaupt gefragt hab und dich mit meiner unwissenheit genervt habe.

Dein Posting habe ich zuende gelesen. Es ist egal ob ich mysql --help, mysql -u root oder nur mysql aufrufe, mit oder ohne kompletten Pfad, auch mit führendem /. Es kommt immer command not found. Dachte eigentlich, wenn das im Terminal schon nicht geht, dann ist irgendwas falsch.

Trotzdem danke für die Mühe meine Postings zu lesen!
daniel85
 
Posts: 6
Joined: 22. September 2010 21:53

Re: MySQL unter Mac

Postby Nobbie » 23. September 2010 11:01

daniel85 wrote:Es kommt immer command not found.


Dann stimmt Deine Pfadangabe nicht. Das kann ich leider nicht überprüfen.
Nobbie
 
Posts: 6995
Joined: 09. March 2008 13:04

Re: MySQL unter Mac

Postby daniel85 » 23. September 2010 19:46

So, nach langem tüffteln funktioniert es nun.

ich hab noch das MySQLStartupItem.pkg installiert.
und dann mit "sudo /Library/StartupItems/MySQLCOM/MySQLCOM start" das ganze gestartet.

dann diesen Befehl:
cd /usr/local/mysql
sudo ./bin/mysqld_safe
bg
ausgeführt

dann konnte in /usr/local/mysql/bin/ die mysql -u root aufrufen und mich mit der DB verbinden. Das klappt.

Dann das ganze in den PATH aufnehmen und noch nen Alias erstellen
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
PATH=${PATH}:/usr/local/mysql/bin

Nun kann ich schonmal im terminal egal von wo mit mysql die DB verbinden.

Aber in phpMyAdmin immernoch keine Verbindung und mit PHP auch nicht.
Dann ist mir aufgefallen, dass phpmyadmin immer auf den Standard Socket /var/mysql/mysql.sock zugreifen möchte, dann hab ich in der Config den korrekten socket /tmp/mysql.sock eingefügt und phpmyadmin funktioniert einwandfrei.
Dann noch in der php.ini den Standard Socket auf /tmp/mysql.sock gesetzt und da gehts nun auch.

Einen Hinweis darauf hab ich in der install.txt, die beim mysql.dmg dabei war, gefunden.
daniel85
 
Posts: 6
Joined: 22. September 2010 21:53

Re: MySQL unter Mac

Postby Nobbie » 23. September 2010 20:17

daniel85 wrote:So, nach langem tüffteln funktioniert es nun.


Herzlichen Glückwunsch - das meine ich ernst und wirklich von Herzen!

Ist es nicht ein schönes Gefühl, wenn man die Probleme und deren Ursachen selbst erforscht und behoben hat? Du hast die Hinweise für das Terminal letztendlich doch umsetzen können und die Probleme mit dem Socket (die Du hier nicht einmal aufgeführt hattest) selbst gelöst. Dazu sei aber angemerkt, dass diese Lösung nur auf dem localhost funktioniert. Solltest Du irgendwann von einem anderen Rechner direkt auf MySQL zugreifen wollen, dann müßtest Du die TCPIP Schnittstelle (mit dem bekannten Port 3306) aktivieren. Aber momentan ist das wahrscheinlich nicht erforderlich, da ja aus Sicht der PHP Scripte die Datenbank ohnehin auf localhost liegt.

So etwas bringt tausend mal mehr als eine vorgekaute Lösung, die man im Zweifelsfall vielleicht nicht einmal versteht, auch wenn sie letztendlich funktioniert.

Und Du weißt nun insbesondere auch, dass die ganzen Probleme NICHT einen einheitlichen Grund hatten (a la "Mysql tuts hier nicht"), sondern dass jedes Problem eine individuelle Ursache hatte, auch wenn es in der Summe der Dinge den Anschein hatte (zumindest aus Deiner Sicht), dass das ein generelles Problem wäre. Was es aber nicht war.
Nobbie
 
Posts: 6995
Joined: 09. March 2008 13:04


Return to MySQL

Who is online

Users browsing this forum: No registered users and 2 guests