我在我的macbook上运行了一个本地web服务器,我遇到了一个奇怪的问题。我可以很好地使用像Sequel Pro这样的程序访问MySQL,密码工作和生活是伟大的。
在PHP中,如果我的db服务器是127.0.0.1,那么一切都可以正常工作。
但是,如果我将db服务器更改为localhost,则会因为'root'@'localhost‘错误而拒绝访问。我已经确保MySQL套接字设置正确,但仍然不能使用本地主机。
任何洞察力都会很棒。谢谢!
发布于 2012-05-04 14:35:51
除了迈克尔的话
还有另一个链接:http://dev.mysql.com/doc/refman/5.1/en/connecting.html,它说:
在Unix上,MySQL程序特别对待主机名localhost,与其他基于网络的程序相比,这种方式可能与您所期望的有所不同。对于到本地主机的连接,MySQL程序尝试使用Unix套接字文件连接到本地服务器。即使提供了--port或-P选项来指定端口号,也会发生这种情况。
它不是典型的tcp/ip连接。如果您本地端口从127.0.0.1:3306转发到192.168.1.2:3306,"mysql unix localhost“将尝试连接到本地-h套接字文件。
它不是专门针对你的问题的(因为你在运行php),但希望它能有所帮助。
发布于 2011-03-09 06:58:58
发布于 2011-03-09 07:01:06
在my.cnf文件中,要么将绑定地址更改为本地主机,要么完全删除绑定地址设置(这将使侦听所有IP)。
my.cnf文件通常位于/etc或/etc/mysql中。
https://stackoverflow.com/questions/5239376
复制相似问题