MySQL-Socketverbindungen funktionieren, aber keine Portverbindungen

1116
Neil

Ich habe die MySQL-Community 5.1.45 auf meinem Snow Leopard 10.6 installiert und dabei das Paket von ihrer Site verwendet. Ich hatte zuvor eine MySQL-Binärdatei von entropy.ch installiert. In der vorherigen Installation funktionierten die Verbindungen einwandfrei, bevor ich auf Snow Leopard umstieg. In Snow Leopard sind beide Installationen problematisch.

Bei einer App namens Sequel Pro wird die Verbindung zum Socket-Vorgang ordnungsgemäß hergestellt. Eine Standardverbindung mit denselben Anmeldeinformationen funktioniert jedoch nicht. Soweit ich verstanden habe, passieren Socket-Verbindungen auf dem Computer selbst zwischen Prozessen, wohingegen normale Verbindungen über das Netzwerk / die Ports erfolgen, in diesem Fall ein Loopback auf meinen Computer, da sich Server und Client auf demselben Computer befinden.

Meine neue CakePHP-Installation kann keine Verbindung zur Datenbank mit den von mir bereitgestellten Root-Anmeldeinformationen herstellen. Übrigens, ich habe den MySQL Server mit dem Preference Pane gestartet.

Als ich versuchte, mysqld vom Terminal aus auszuführen, gab es mir:

100323 1:54:37 [Warnung] Testdatei kann nicht erstellt werden. /Usr/local/mysql-5.1.45-osx10.6-x86_64/data/mbp.lower-test 100323 1:54:37 [Warnung] Can ' t Erstellen Sie die Testdatei /usr/local/mysql-5.1.45-osx10.6-x86_64/data/mbp.lower-test mysqld: Kann das Verzeichnis nicht in '/usr/local/mysql-5.1.45-osx10 ändern. 6-x86_64 / data / '(Errcode: 13) 100323 1:54:37 [ERROR] Abbruch

100323 1:54:37 [Hinweis] mysqld: Herunterfahren abgeschlossen

mbp ist der Name meiner Maschine. Wie kann ich das beheben, damit mein Webserver eine Verbindung zum MySQL-Server herstellen kann?

1
Führen Sie mysqld von der Kommandozeile aus mit sudo aus? Mein erster Gedanke ist, dass mysql nicht über die erforderlichen Berechtigungen zum Erstellen der benötigten Dateien verfügt. Aaron Havens vor 14 Jahren 0

1 Antwort auf die Frage

0
Craig

Die Berechtigungen in mysql für Socket-Verbindungen sind von den Netzwerkverbindungen getrennt.

Dies ermöglicht Netzwerkverbindungen:

grant all privileges on dbname.* to USERNAME@% identified by 'password' 
Könnten Sie mir die genaue Erlaubnis für Netzwerkverbindungen mitteilen? Ich möchte nicht in meinem System eine große Lücke halten, indem Sie alle Berechtigungen aktivieren, einschließlich der Dateiausführungsfunktionen, wenn meine Datenbank dies nicht erfordert. Vor allem, weil es eine wichtige Maschine ist, auf der alle meine Arbeiten stehen. Neil vor 14 Jahren 0
Möglicherweise möchten Sie "%" in dieser Grant-Anweisung in den Namen des Hosts ändern, auf den zugegriffen werden soll. Fügen Sie möglicherweise eine ähnliche Anweisung hinzu, wobei '%' auf 'localhost' gesetzt ist. Marnix A. van Ammers vor 14 Jahren 0