为什么phpmyadmin拒绝通过localhost连接但接受127.0.0.1?

时间:2018-04-15 06:12:17

标签: mysql macos phpmyadmin localhost macos-sierra

我刚刚将我的mac更新为10.13并重新安装了我的开发工具。在设置phpmyadmin时,无法使用:

连接到mysql
$cfg['Servers'][$i]['host'] = 'localhost';

phpmyadmin抛出:

  

phpMyAdmin尝试连接到MySQL服务器和服务器   拒绝了连接。你应该检查主机,用户名和   您的配置中的密码,并确保它们对应   MySQL服务器管理员提供的信息。

相反,我必须使用它才能使它工作:

$cfg['Servers'][$i]['host'] = '127.0.0.1';

在过去,我可以保留默认的“localhost”并且没有任何问题,但它不会再通过套接字连接。

我的mysql用户是'root'@'localhost',使用最新的mysql,apache,phpmyadmin。

可能是什么原因? 感谢

2 个答案:

答案 0 :(得分:4)

这可能有不止一个原因发生,同样也在这个问题上进行了讨论。我建议您查看此问题提供的答案,以根据您所处的环境解决错误。

这是ServerFault question

我倾向于在开发环境中看到的常见问题是:

您可能已启用IPv6,其极可能的localhost会解析为IPv6本地主机,但MySQL配置中未定义。

答案 1 :(得分:3)

感谢@ N00b Pr0grammer的建议,我通过了不同的解决方案,但我还是想通了。

在OS X的全新安装中,php.ini被关闭,默认情况下在“/var/mysql/mysql.sock”中查找mysqli.default_socket,因此我必须1.将php.ini.default重命名为{ {1}}比2. set:

php.ini

并重启apache。现在phpmyadmin也可以通过localhost连接到mysql。