PDOException:SQLSTATE [HY000] [2002]无法通过lock_may_be_available()中的套接字'/tmp/mysql.sock'(2)连接到本地MySQL服务器

时间:2017-12-01 01:38:06

标签: mysql drupal-7 solaris

PDOException:SQLSTATE [HY000] [2003]无法在lock_may_be_available()中的“127.0.0.1”(146)上连接到MySQL服务器(路径/包含/ lock.inc的第167行)。 - 日志文件没有错误,不知道为什么...... 尝试替换localhost,这给了我[2002]错误: PDOException:SQLSTATE [HY000] [2002]无法通过套接字'/tmp/mysql.sock'连接到本地MySQL服务器 - 证书也很好...... 当mysql运行时,两种情况都会显示相同的错误消息&停止。 我尝试了从谷歌获得的每一种可能性,但没有工作..

2 个答案:

答案 0 :(得分:0)

从字面上看,一切都很好。 mysql启动并运行。通过在my.cnf中引入bind-address来检查它是否从localhost来回更改为127.0.0.1。错误从SQLSTATE [HY000] [2002]分别更改为SQLSTATE [HY000] [2003]。没有什么工作。我花了差不多10个小时来弄清楚这一点。

解决方案:在我的情况下,mysql.sock在客户端和服务器mysql之间提供了一个隧道来进行交互。它只在mysql服务器启动并运行时创建。我的问题是它检查mysql.sock的路径,在该目录中不存在。所以我必须创建一个从该目录到它实际存在的路径的符号链接。是的,它有效...

命令创建符号链接

ln - s /path/where/it/actually/exists/mysql.sock /path/where/it/is/looking/for/mysql.sock

答案 1 :(得分:0)

您的mysql服务器尚未启动。

mysqld stop
mysql.server start