Concrete5 SQLSTATE [HY000] [2002] localhost上没有此类文件或目录

时间:2015-06-01 22:43:27

标签: mysql database content-management-system concrete5

我尝试使用MAMP在本地主机上安装Concrete5,但每次我把它放在数据库信息中时,都会收到此错误。

SQLSTATE[HY000] [2002] No such file or directory

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:0)

错误2002通常显示为

  

ERROR 2002(HY000):无法通过套接字'/path/to/mysqld/mysqld.sock'连接到本地MySQL服务器

PHP无法使用套接字连接到MySQL。在Windows上你可能不想使用unix socket。

“但我没有使用unix套接字,我只是连接到localhost”你可能会说。

对于PHP驱动程序,“localhost”具有described in the PHP manual的特殊含义。

  

hostname localhost具有特殊含义。它必然会使用Unix域套接字。使用主机名localhost打开TCP / IP连接是不可能的,您必须使用127.0.0.1。

解决方案:将127.0.0.1配置为Concrete5的MySQL主机。

答案 1 :(得分:0)

我终于解决了这个问题。我进入MAMP并找到了MySQL端口号并以这种格式输入服务器盒:localhost:[MySQL Port]。

答案 2 :(得分:0)

尝试127.0.0.1:[MySQL port],这对我有用。

要查找您的端口号,请转到MAMP中的MySQL部分,然后查看屏幕的右上角。会有一条消息说:MySQL配置为使用端口[port number]

答案 3 :(得分:0)

我在MacOS 10.13和MAMP 5.1上做到了,在 / var / mysql (如果目录不存在,则创建目录)中创建指向mysql.sock的符号链接。

它的解决方案在全球范围内有效,无需更改任何配置,因此PHP可以连接到MySQL。

在控制台/终端中输入:

sudo mkdir /var/mysql
cd /var/mysql && sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock