MySQL localhost/127.0.0.1问题

Gar*_*y M 3 php mysql sockets localhost

我有一个在我的macbook上运行的本地Web服务器,我遇到了一个奇怪的问题.我可以使用像Sequel Pro这样的程序访问MySQL,密码工作和生活很棒.

在PHP中,如果我将db服务器设置为127.0.0.1,那么一切都可以正常工作.

但是,如果我将数据库服务器更改为localhost,则会因"root"@"localhost"错误而拒绝访问.我确保MySQL套接字设置正确,但仍然无法使用localhost.

任何见解都会很棒.谢谢!

Xia*_*ang 5

除了迈克尔的话,

还有另一个链接:http://dev.mysql.com/doc/refman/5.1/en/connecting.html,它说:

在Unix上,MySQL程序特别对待主机名localhost,其方式可能与您期望的与其他基于网络的程序相比有所不同.对于与localhost的连接,MySQL程序尝试使用Unix套接字文件连接到本地服务器.即使给出--port或-P选项指定端口号,也会发生这种情况.

它不是典型的tcp/ip连接.如果你有从127.0.0.1:3306到192.168.1.2:3306的本地端口转发,"mysql -h localhost"将尝试连接到本地unix套接字文件.

它不是特定于你的问题(因为你正在运行php),但希望它无论如何都有帮助.