为什么 phpmyadmin 拒绝通过本地主机连接但接受 127.0.0.1?
Why phpmyadmin refuses to connect over localhost but accepts 127.0.0.1?
我刚刚将我的 mac 更新到 10.13 并重新安装了我的开发工具。设置 phpmyadmin 时无法使用
连接到 mysql
$cfg['Servers'][$i]['host'] = 'localhost';
phpmyadmin 抛出:
phpMyAdmin tried to connect to the MySQL server, and the server
rejected the connection. You should check the host, username and
password in your configuration and make sure that they correspond to
the information given by the administrator of the MySQL server.
相反,我必须使用它才能正常工作:
$cfg['Servers'][$i]['host'] = '127.0.0.1';
过去我可以保留默认值 "localhost" 并且没有任何问题,但它不会再通过套接字连接。
我的 mysql 用户是 'root'@'localhost',使用最新的 mysql、apache、phpmyadmin。
可能是什么原因?
谢谢
发生这种情况的原因可能不止一个,在这个问题上也讨论了同样的原因。我建议您根据您所持有的环境仔细阅读此问题提供的答案以解决错误。
我在开发环境中经常看到的常见问题是:
您可能启用了 IPv6
,它很可能的本地主机解析为 IPv6
本地主机,这在您的 MySQL
配置中没有定义。
感谢@N00b Pr0grammer 的建议,我尝试了不同的解决方案,但我还是想通了。
在全新安装 OS X 时,php.ini 已关闭,默认情况下会在“/var/mysql/mysql.sock”处查找 mysqli.default_socket,因此我必须 1 . 将 php.ini.default
重命名为 php.ini
而不是 2. set:
mysqli.default_socket = /tmp/mysql.sock
并重启apache。现在 phpmyadmin 也可以通过本地主机连接到 mysql。
我刚刚将我的 mac 更新到 10.13 并重新安装了我的开发工具。设置 phpmyadmin 时无法使用
连接到 mysql$cfg['Servers'][$i]['host'] = 'localhost';
phpmyadmin 抛出:
phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in your configuration and make sure that they correspond to the information given by the administrator of the MySQL server.
相反,我必须使用它才能正常工作:
$cfg['Servers'][$i]['host'] = '127.0.0.1';
过去我可以保留默认值 "localhost" 并且没有任何问题,但它不会再通过套接字连接。
我的 mysql 用户是 'root'@'localhost',使用最新的 mysql、apache、phpmyadmin。
可能是什么原因? 谢谢
发生这种情况的原因可能不止一个,在这个问题上也讨论了同样的原因。我建议您根据您所持有的环境仔细阅读此问题提供的答案以解决错误。
我在开发环境中经常看到的常见问题是:
您可能启用了 IPv6
,它很可能的本地主机解析为 IPv6
本地主机,这在您的 MySQL
配置中没有定义。
感谢@N00b Pr0grammer 的建议,我尝试了不同的解决方案,但我还是想通了。
在全新安装 OS X 时,php.ini 已关闭,默认情况下会在“/var/mysql/mysql.sock”处查找 mysqli.default_socket,因此我必须 1 . 将 php.ini.default
重命名为 php.ini
而不是 2. set:
mysqli.default_socket = /tmp/mysql.sock
并重启apache。现在 phpmyadmin 也可以通过本地主机连接到 mysql。