Noviembre de 2014: si recibe este error en MySQL 5.6.x en Mac OS X Mavericks o Yosemite y desea usar MySQL con PHP localmente (/tmp/mysql.sock es donde PHP PDO espera encontrar el archivo sock), esto es lo que lo arregló para mí:
1) Descomente las líneas predeterminadas del archivo de configuración homebrew y edite como se muestra a continuación
$ 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 es lo que tiene en Preferencias del sistema -> Red como la identificación única de su computadora en la red.
2) Establezca permisos en todos los archivos del directorio de datos mysql. Todos eran propiedad de [my_username]. MySQL es muy exigente con esto y se niega a crear el archivo pid a menos que él (el usuario _mysql) sea el propietario del directorio.
$ sudo chown -R _mysql:mysql /usr/local/var/mysql
3) Inicie MySQL usando el script bash helper / wrapper:
$ sudo mysql.server start
Starting MySQL
. SUCCESS!
Espero que ayude. Si lo anterior no funciona para usted, intente ejecutar el binario mysqld_safe manualmente en el directorio Cellar / mysql / VERSION_ / bin / y verifique cuáles son las configuraciones (si se ejecuta)
sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &
Si eso funciona, puedes
ps aux | grep mysql
y ver algo como
[username] 6881 0.0 2.7 3081392 454836 ?? S 8:52AM 0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld
No estoy seguro de por qué funcionó para mí, pero le muestra de dónde obtuve las opciones del archivo de configuración my.cnf. También puede utilizar las opciones de la línea de comandos para intentar solucionar problemas al iniciar mysqld manualmente.
Si ejecuta manage to run MySQL server usando mysqld_safe, es posible que deba hacer esto para apagarlo antes de probar el helper de bash mysql.server. Resista la tentación de matar -9 [PID] porque puede dañar sus datos.
mysqladmin -uroot shutdown
¡Buena suerte!
sudo chown -R _mysql:_mysql /usr/local/var/mysql