为啥 phpmyadmin 拒绝通过 localhost 连接但接受 127.0.0.1?
Posted
技术标签:
【中文标题】为啥 phpmyadmin 拒绝通过 localhost 连接但接受 127.0.0.1?【英文标题】:Why phpmyadmin refuses to connect over localhost but accepts 127.0.0.1?为什么 phpmyadmin 拒绝通过 localhost 连接但接受 127.0.0.1? 【发布时间】:2018-09-25 02:44:00 【问题描述】:我刚刚将我的 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。
可能是什么原因? 谢谢
【问题讨论】:
检查 localhost 指向的内容。也许它指向您的IP,由于某种原因无法访问。我在本地做 android 工作时经常看到这个问题。 【参考方案1】:感谢@N00b Pr0grammer 的建议,我尝试了不同的解决方案,但我仍然想通了。
在全新安装 OS X 时,php.ini 已关闭,默认情况下会在“/var/mysql/mysql.sock”中查找 mysqli.default_socket,因此我必须 1. 将 php.ini.default
重命名为 php.ini
大于 2. 设置:
mysqli.default_socket = /tmp/mysql.sock
并重新启动 apache。现在 phpmyadmin 也可以通过 localhost 连接到 mysql 了。
【讨论】:
加一个为你的努力!【参考方案2】:发生这种情况的原因可能不止一个,在这个问题上也讨论过同样的问题。我建议您仔细阅读此问题提供的答案,以根据您所拥有的环境解决错误。
这是ServerFault question!
我倾向于在开发环境中看到的常见问题是:
您可能启用了IPv6
,它的本地主机很可能解析为IPv6
本地主机,这在您的MySQL
配置中没有定义。
【讨论】:
它在 macOS 上,所以 IPv6 几乎总是打开的(并且往往在 IPv4 之前尝试)。服务未侦听 IPv6 是此类问题的常见原因。 感谢您的链接!必须在 php.ini 中将mysqli.default_socket
更改为 /tmp/mysql.sock
。以上是关于为啥 phpmyadmin 拒绝通过 localhost 连接但接受 127.0.0.1?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我无法在 wamp 服务器中访问 phpMyAdmin? [关闭]
wampserver安装了进去phpadmin被拒绝访问?是为啥呢