Quando você está usando o valor padrão 'host' no phpMyAdmin, ele tenta se conectar via conexão socket (
$cfg['Servers'][$i]['host'] = 'localhost';
é o padrão, a menos que você o tenha definido explicitamente em config.inc.php
). No Mac OS, por algum motivo, PHP e MySQL não concordam sobre o local padrão do arquivo de soquete. Existem várias soluções fáceis, mas para duas delas você deve primeiro determinar o caminho real para o soquete. A maneira mais fácil é acessar o prompt de comando do MySQL. Abra 'Terminal' na pasta Aplicativos -> Utilitários e digite
mysql -u root -p
e quando solicitado, digite sua senha de root do MySQL (o padrão é geralmente em branco). No prompt do MySQL, digite status;
e você verá uma lista de várias configurações relacionadas à conexão. Procure um como
Soquete UNIX:/var/run/mysqld/mysqld.sock
Este é o caminho para o soquete. O seu quase certamente será diferente disso.
Agora, sobre essas maneiras de corrigir isso:
- Altere o socket padrão em PHP. Abra o arquivo de configuração do PHP (provavelmente php.ini) em seu editor de texto favorito e adicione o caminho correto à linha
mysqli.default_socket =
. Essa alteração afetará qualquer script PHP usando o caminho padrão do soquete do sistema. - Altere o soquete apenas para phpMyAdmin. Abra o arquivo de configuração do phpMyAdmin (config.inc.php) em seu editor de texto favorito. Edite ou adicione a linha
$cfg['Servers'][$i]['socket'] = '';
com o caminho correto. - Mude o tipo de conexão para rede TCP. Novamente, edite o arquivo de configuração do phpMyAdmin (config.inc.php) e edite ou adicione a linha
$cfg['Servers'][$i]['host'] = '127.0.0.1';
. Isso dirá ao phpMyAdmin para usar o método de conexão de rede TCP em vez de soquetes. Observe que suas instâncias do MySQL podem não detectar conexões TCP recebidas por padrão e que seu usuário do MySQL example@ sqldat. com não é o mesmo que [email protected] ou [email protected] %.
Você deve precisar apenas de uma dessas soluções, não das três.