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

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

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


当前回答

您的mysql服务器可能没有运行。输入mysql确保它运行。服务器启动进入终端。

其他回答

我找到了解决办法

在触发命令之前:mysql_secure_installation

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

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

在我的例子中,问题是我所有数据库的页面损坏(检查mysql错误日志)。

我用强制恢复InnoDB解决了这个问题。诀窍是编辑/etc/mysql/my.cnf并添加

innodb_force_recovery = 4

略低于

[mysqld]

然后重新启动mysql。 在检查一切工作正常后,再把线移回来。

我也有这个问题,但这些答案都帮不了我。问题是不同的,但错误是由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-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,那么问题就可以解决了。

确保你有重要数据库的备份,然后尝试卸载MySQL相关的东西:

apt-get remove --purge mysql\*

然后重新安装:

apt-get install mysql-server mysql-client

这对我来说很有效,数据被保存了下来。

如果PHP MySQL显示错误,您可能需要重新安装PHP MySQL:

apt-get install php5-fpm php5-mysql