mysql连接时报错:SQLSTATE[HY000] [2002] No such file or directory
原因说明:这种现象之所以产生的原因,我稍微研究了一下,如果你的php是第一次连mysql就出现这种情况,可能这种方法未必有效,我出现这个问题的原因是以前我的php连接Mysql是没有任何问题的,但是突然某一天就出现了这种问题,结果通过查询是/var/tmp/目录下少了一个mysql.sock的软连接,之所以突然缺少这个软连接的原因是因为我之前的mac pro安装了一个磁盘清理工具,而且我使用这个工具清理了一下电脑上的磁盘空间,可能正是因为这次清理磁盘空间导致清理工具将/var/tmp目录下的所有文件都清除了.
设置:
Last login: Fri Aug 15 17:51:49 on ttys001
AndyMacBookPro:~ andy$ sudo find / -name mysql.sock
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
/private/tmp/mysql.sock
AndyMacBookPro:~ andy$ ll /var/mysql
ls: /var/mysql: No such file or directory
AndyMacBookPro:~ andy$ sudo mkdir /var/mysql
AndyMacBookPro:~ andy$ ll /var/mysql/
total 0
drwxr-xr-x 2 root wheel 68 8 15 17:55 ./
drwxr-xr-x 25 root wheel 850 8 15 17:55 ../
AndyMacBookPro:~ andy$ sudo ln -s /private/tmp/mysql.sock /var/mysql/mysql.sock
AndyMacBookPro:~ andy$ ll /var/mysql/
total 8
drwxr-xr-x 3 root wheel 102 8 15 17:56 ./
drwxr-xr-x 25 root wheel 850 8 15 17:55 ../
lrwxr-xr-x 1 root wheel 23 8 15 17:56 mysql.sock@ -> /private/tmp/mysql.sock
AndyMacBookPro:~ andy$
之后就好了:
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
换成其他报错了~~