我在Ubuntu 12.04 LTS (Precise穿山甲)上安装了LAMP,然后在phpMyAdmin上设置根密码。我忘记密码了,现在无法登录。当我试图通过终端更改密码时,我得到:

错误2002 (HY000):无法通过套接字连接到本地MySQL服务器 ' / var /运行/ mysqld / mysqld。袜子”(2)

我该如何解决这个问题?我无法打开LAMP,卸载它或重新安装它。


当前回答

可能是配置文件有问题。我也遇到过类似的问题,但我在网上找不到解决方案。我注意到我有两个my.cnf文件,一个在/etc/mysql,另一个在/etc。 遵循以下步骤:

使用定位my.cnf在您的计算机上检查my.cnf文件。 如果有两个条目,即/etc/my.cnf和/etc/mysql/my.cnf, 将/etc/mysql/my.cnf重命名为其他内容,例如/etc/mysql/my.cnf.old

尝试再次运行MySQL。

其他回答

我也有同样的问题。我找了半天也没找到答案。

最后我检查了/tmp目录,权限是755。我将其权限更改为777,mysqld启动良好,没有任何问题。

我曾经遇到过这个问题,并通过安装mysql-server解决了它,所以请确保您已经安装了mysql-server,而不是mysql-client或其他东西。

这个错误意味着文件/var/run/mysqld/mysqld.Sock不存在,如果你没有安装mysql-server,那么这个文件就不存在。在这种情况下,安装它

sudo apt-get install mysql-server

但是如果mysql-server已经安装并且正在运行,那么您需要检查配置文件。

配置文件如下:

/etc/my.cnf
/etc/mysql/my.cnf
/var/lib/mysql/my.cnf

在/etc/my.cnf目录下,套接字文件配置可能是/tmp/mysql。在/etc/mysql/my.cnf中,套接字文件配置可能是/var/run/mysqld/mysqld.sock。因此,删除或重命名/etc/mysql/my.cnf,让mysql使用/etc/my.cnf,那么问题就可以解决了。

在我的情况下,它是磁盘已满,mysqld不能再启动。

尝试重新启动mysql服务。

> service mysql restart

or

> service mysql stop

> service mysql start

如果它不识别停止命令,那么它肯定是磁盘空间。您应该在mysql分区中分配一些空间或使磁盘更大。

检查磁盘空间

> df -h

在我的情况下,我的问题是,我试图从我的linux终端访问,而不是从我的docker容器与mysql。

升级MySQL为我解决了这个问题。在基于rhel的服务器上,只需运行:

sudo yum upgrade mysql-server