(SQLSTATE[HY000] [2002] No such file or directory 错误解决方案

请依次检查:

1、  数据库设置 (主机、数据库、用户、密码)均正确

2、  检查 mysql.sock 文件路径位置是否设置正确

打开 php.ini ,检查 default_socket 设置的路径是否正确

如启动 Mysql 后,使用 如下命令找到 mysql.sock 的路径

ps aux | grep -i mysql

输出:

mysql    12388  0.0  0.2 390744 44636 pts/0    Sl   14:02   0:01 /opt/mysql/product/bin/mysqld --basedir=/opt/mysql/product --datadir=/opt/mysql/product/data --plugin-dir=/opt/mysql/product/lib/plugin --user=mysql --log-error=/opt/mysql/product/data/oracle1.err --pid-file=/opt/mysql/product/data/oracle1.pid --socket=/var/lib/mysql/mysqld.sock --port=3306

修改 php.ini 中,所有关于 “default_socket” 的所有路径为 “/var/lib/mysql/mysqld.sock”

修改后如下:

default_socket_timeout = 60
pdo_mysql.default_socket=/var/lib/mysql/mysqld.sock
mysql.default_socket =/var/lib/mysql/mysqld.sock
mysqli.default_socket =/var/lib/mysql/mysqld.sock

3、重启 web 服务器

评论关闭