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

今天在MAC下配置PHP+MYSQL,一切顺利!可是跑一个项目测试的时候发现会报错:

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

搜了一下,没有什么靠谱的答案,最后在stackoverflow上看到了一个非常不错的答案:

http://stackoverflow.com/questions/2412009/starting-with-zend-tutorial-zend-db-adapter-throws-exception-sqlstatehy000

按照上面的讲的,其实就是PHP在自己默认的配置文件选项制定的路径下找不到mysql服务的mysqld.sock文件!那么这就好办了,查一下 自己机器上mysql配置文件中的socket项配置,和php.ini中的保持一致就OK了,由于我的项目使用的是PDO,那么我就要保证和 pdo_mysql.default_socket这项指定的路径必须正确!

然后我突然发现安装的mysql目录中并没有配置文件my.cnf,杯具了!不过后来在另外一个帖子上看到一段话:

很多人都问为什么mysql在mac上没有配置文件,因为你还没有配置嘛。
首先把/usr/local/mysql加到$Path里面,运行mysqladmin
可以看到一段输出,mysql查找my.cnf的路径顺序是/etc/my.cnf:…..:~/my.cnf
而在/usr/local/mysql/support-files/里面,是一大把的配置文件原型,拷一个到/etc下面去,再改成my.cnf。

不用那么麻烦,直接把/usr/local/mysql/support-files/里面的my-small.cnf文件改改名字丢到/etc下面,然后按照里面的对应项修改php.ini,重启mysql,重启apache!

文章来源:http://www.codingcool.com/2012/04/05/关于sqlstatehy0002002/

你可能感兴趣的:(Directory)