November 2014: Wenn dieser Fehler unter MySQL 5.6.x unter Mac OS X Mavericks oder Yosemite auftritt und MySQL lokal mit PHP verwendet werden soll (/tmp/mysql.sock erwartet PHP PDO, die Sockendatei zu finden), Hier ist, was es für mich behoben hat:
1) Kommentieren Sie die Standardzeilen der Homebrew-Konfigurationsdatei aus und bearbeiten Sie sie wie folgt
$ sudo vi /usr/local/Cellar/mysql/5.6.21/my.cnf
...
basedir = /usr/local/Cellar/mysql/5.6.21
datadir = /usr/local/var/mysql
port = 3306
server_id = <UNIQUE_NUMBER_HERE_OR_LEAVE_COMMENTED_OUT>
socket = /tmp/mysql.sock
pid-file = /usr/local/var/mysql/[BOXNAME].local.pid
....
BOXNAME ist das, was Sie in Ihren Systemeinstellungen -> Netzwerk als eindeutige ID für Ihren Computer im Netzwerk haben.
2) Legen Sie die Berechtigungen für alle Dateien im MySQL-Datenverzeichnis fest. Diese waren alle im Besitz von [my_username]. MySQL ist sehr wählerisch und weigert sich, die PID-Datei zu erstellen, es sei denn, sie (der Benutzer _mysql) besitzt das Verzeichnis.
$ sudo chown -R _mysql:mysql /usr/local/var/mysql
3) Starten Sie MySQL mit dem Bash-Helfer / Wrapper-Skript:
$ sudo mysql.server start
Starting MySQL
. SUCCESS!
Hoffentlich hilft das. Wenn dies für Sie nicht funktioniert, versuchen Sie, die Binärdatei mysqld_safe manuell im Verzeichnis Cellar / mysql / VERSION_ / bin / auszuführen, und überprüfen Sie die Einstellungen (falls sie ausgeführt werden).
sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &
Wenn das läuft, können Sie
ps aux | grep mysql
und so etwas sehen
[username] 6881 0.0 2.7 3081392 454836 ?? S 8:52AM 0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.21 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.21/lib/plugin --verbose --log-error=/usr/local/var/mysql/BOXNAME.local.err --pid-file=/usr/local/var/mysql/BOXNAME.local.pid
Ich bin mir nicht sicher, warum das bei mir funktioniert hat, aber es zeigt Ihnen, woher ich die Konfigurationsdateioptionen für my.cnf habe. Sie können auch die Befehlszeilenoptionen verwenden, um zu versuchen, Fehler zu beheben, wenn Sie mysqld manuell starten.
Wenn Sie den MySQL-Server mit mysqld_safe ausführen, müssen Sie dies möglicherweise tun, um ihn herunterzufahren, bevor Sie den Bash-Helfer mysql.server ausprobieren. Widerstehen Sie dem Drang, -9 [PID] zu töten, da Sie Ihre Daten beschädigen können.
mysqladmin -uroot shutdown
Viel Glück!
sudo chown -R _mysql:_mysql /usr/local/var/mysql