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

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

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


当前回答

在Debian服务器Jessie上,我的工作解决方案是简单地做

service mysql restart
service mysql reload

作为root用户

其他回答

你检查过LAMPP是否在运行吗?

sudo bash <path>/lampp start

对我来说,路径就是

sudo bash /opt/lampp/lampp start

在我的例子中,默认端口3306正在被其他进程使用,因此它没有启动。在我停止了其他服务,并做了sudo服务mysql启动后,它工作得很好。顺便说一句,您可以使用sudo lsof -Pn -iTCP:3306之类的东西来查看谁可能正在使用该端口。

我也遇到过类似的问题。Mysql无法启动:

sudo service mysql start
start: Job failed to start

如果我禁用了apparmor:

sudo aa-complain /etc/apparmor.d/*

问题解决了。问题是mysqld试图访问/运行/mysqld/mysqld。Sock,但是apparmor配置文件只允许/var/run/mysqld/mysqld. SockSock (/var/run是符号链接到/run的,所以它们实际上是相同的)。不确定为什么mysqld不使用var路径,因为这是在所有配置文件中设置的,但你可以通过在/etc/ apparor .d/usr.sbin.mysqld中添加以下内容来解决这个问题

/run/mysqld/mysqld.pid rw,
/run/mysqld/mysqld.sock rw,

对我来说,更新解决了这个问题:

在Ubuntu上:

sudo apt-get update
sudo apt-get upgrade

CentOS:

sudo yum update

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

sudo yum upgrade mysql-server