Ainda configurando meu ambiente de trabalho no Mac OS X, me deparei com um problema que eu não conhecia no MySQL: Error #2002 – No such file or directory.
O arquivo nao encontrado é o MySQL socket, então seu PHP está apontando para um arquivo de socket inexistente.
O primeiro passo é descobrir onde está o mysql.socket, para isso você precisa estar com o MySQL server rodando e abrir um terminal do MySQL. No terminal do MySQL digite status, e você terá informações parecidas com estas:
Connection id: 4
Current database:
Current user: guilhermeserrano@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.5.28 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 42 min 26 sec
O UNIX socket mostra o local correto do seu arquivo de socket, agora você só precisa fazer seu PHP apontar para este mesmo arquivo. Abra seu PHP.ini e procure pelos atributos listados abaixo, substituindo pelo valor correto (o do status no terminal do seu MySQL):
- pdo_mysql.default_socket
- mysql.default_socket
- mysqli.default_socket
- pdo_mysql.default_socket
Agora é só reiniciar seu Apache para aplicar as novas configurações e você estará apto a conectar ao MySQL com o PHP.
Dúvidas e sugestões nos comentários. 🙂