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

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

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


当前回答

我也有这个问题,但这些答案都帮不了我。问题是不同的,但错误是由OP描述的。

我检查了MySQL的日志在/var/log/mysql,我看到了这个:

150309  5:03:19 [ERROR] /usr/sbin/mysqld: unknown variable   'lower_case_tables_names=1'

我打开/etc/mysql/my.cnf文件并注释掉#这一行。在此之后,我能够连接到数据库。

说实话,我不知道问题出在哪里。由于维护,linode服务器计划重新启动,这个错误突然出现。

其他回答

我找到了解决办法

在触发命令之前:mysql_secure_installation

步骤1:sudo systemctl stop mariadb 步骤2:sudo systemctl启动mariadb 步骤3:mysql_secure_installation

然后它会询问根密码,你可以简单地按Enter并设置你的新根密码。

我曾经遇到过这个问题,并通过安装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,那么问题就可以解决了。

检查你是否拥有正确的权限:

sudo chmod 755 /var/lib/mysql/mysql

我也有同样的问题,这个方法对我很有效。这样做之后,我就可以启动MySQL了。

在/etc/mysql/my.cnf中,检查最后一行是:

!includedir /etc/mysql/conf.d/

我认为当你得到错误的时候

ERROR 2002 (HY000):无法通过套接字/var/lib/ MySQL / MySQL .sock连接到本地MySQL服务器

我建议你先检查一下mysql守护进程是否在运行…大多数情况下,默认情况下它不会运行。你可以通过/etc/init.检查d / mysqld的地位。

如果它没有运行,那么先启动它:

.../etc/init.d/mysqld start.

我打赌它会110%有效。