在Linux下php连接mysql数据库遇到2002错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Linux下php连接mysql数据库遇到2002错误相关的知识,希望对你有一定的参考价值。

用thinkphp连接mysql数据库的时候出现了这样一个错误: SQLSTATE[HY000] [2002] No such file or directory

这是因为在 php.ini 配置文件中未指定mysql.sock(或mysqld.sock)文件路径导致的PDO无法连接数据库

 

在 php.ini 文件中配置以下三项

mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket= /tmp/mysql.sock
mysqli.default_socket =/tmp/mysql.sock

使用mysqld引擎的数据库应修改为如下设置

mysql.default_socket = /tmp/mysqld.sock
pdo_mysql.default_socket= /tmp/mysqld.sock
mysqli.default_socket =/tmp/mysqld.sock

 

如果你不知道自己使用的是mysql.sock还是mysqld.sock文件,或者不知道mysql_socket文件的位置,打开phpinfo() 函数信息页面找到如下PHP扩展中MYSQL扩展所在位置,找到里边的MYSQL_SOCKET对应的路径值复制出来即可,或者直接在硬盘搜索中使用命令 find / -name mysql.sock

修改完之后记得重启服务!

以上是关于在Linux下php连接mysql数据库遇到2002错误的主要内容,如果未能解决你的问题,请参考以下文章

linux下mysql连接不成功的疑惑

Linux系统下实现远程连接MySQL数据库的方法教程

linux中MySQL连接找不到mysql.sock文件

连接Linux下 XAMPP集成环境中部署的禅道的数据库MariaDB

在LNMP原来的基础上,win7环境下如何上传PHP文件到Linux环境下

linux下源代码搭建php环境之mysql