Novembro de 2014: se você está recebendo este erro no MySQL 5.6.x no Mac OS X Mavericks ou Yosemite e deseja usar o MySQL com PHP localmente (/tmp/mysql.sock é onde o PHP PDO espera encontrar o arquivo sock), aqui está o que consertou para mim:
1) Remova o comentário das linhas do arquivo de configuração do homebrew padrão e edite como abaixo
$ 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 é o que você tem em suas Preferências de Sistema -> Rede como o id único para seu computador na rede.
2) Defina as permissões em todos os arquivos no datadir mysql. Todos eram propriedade de [my_username]. O MySQL é muito exigente quanto a isso e se recusa a criar o arquivo pid a menos que (o usuário _mysql) seja o proprietário do diretório.
$ sudo chown -R _mysql:mysql /usr/local/var/mysql
3) Inicie o MySQL usando o script bash helper / wrapper:
$ sudo mysql.server start
Starting MySQL
. SUCCESS!
Espero que ajude. Se o acima não funcionar para você, tente executar o binário mysqld_safe manualmente no diretório Cellar / mysql / VERSION_ / bin / e verifique quais são as configurações (se for executado)
sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &
Se funcionar, você pode
ps aux | grep mysql
e 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
Não sei por que isso funcionou para mim, mas mostra de onde obtive as opções do arquivo de configuração my.cnf. Você também pode usar as opções de linha de comando para tentar solucionar problemas ao iniciar o mysqld manualmente.
Se você executar manage para executar o servidor MySQL usando mysqld_safe, você pode ter que fazer isso para desligá-lo antes de tentar o auxiliar bash mysql.server. Resista ao impulso de matar -9 [PID] porque você pode corromper seus dados.
mysqladmin -uroot shutdown
Boa sorte!
sudo chown -R _mysql:_mysql /usr/local/var/mysql