我通过MacPorts在本地计算机上安装了mysql / mysqli,并且只能在使用locahost时从命令行访问mysql / mysqli命令。
如果我尝试跑步:
mysql -u root -h 127.0.0.1 -p
我收到以下错误:
ERROR 2003(HY000):无法连接到'127.0.0.1'上的MySQL服务器(61)
运行时:
mysql -u root -h localhost -p
一切都很好。
这让我烦恼的原因是我试图在localhost上运行的PHP脚本中使用mysqli_connect。当我作为localhost进入主机时,它给了我这个错误:
警告:mysqli_connect():( HY000 / 2002):第2行上没有这样的文件或目录 bool(false)无法连接到MySQL:没有这样的文件或目录
当我以127.0.0.1进入主机时,我得到一个不同的错误:
警告:mysqli_connect():( HY000 / 2002):第2行/Users/raph/coding/webroot/rugapp/qbo-palmer/docs/partner_platform/example_app_ipp_v3/test.php中的连接被拒绝 bool(false)无法连接到MySQL:拒绝连接
好像我有一些配置问题。修复它们的最佳方法是什么?
答案 0 :(得分:0)
与localhost的连接使用unix套接字。似乎正确的套接字路径内置在您使用的mysql二进制文件中,这解释了它在命令行上运行的原因。要使用PHP工作的unix套接字连接,您需要指定MacPorts MySQL的非标准套接字路径,就像通常指定端口号一样。
如果使用127.0.0.1无法连接(强制使用IPv4并避免使用unix套接字),请参阅mysql running but cannot connect to 127.0.0.1。