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运行时,两种情况都会显示相同的错误消息&停止。 我尝试了从谷歌获得的每一种可能性,但没有工作..
答案 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