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

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

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


当前回答

检查my.conf (/etc/mysql/my.cnf),看看bind-address是否设置为127.0.0.1。

如果不是,这可能会导致此问题。

其他回答

而不是使用localhost:

mysql -u myuser -pmypassword -h localhost mydatabase

使用127.0.0.1

mysql -u myuser -pmypassword -h 127.0.0.1 mydatabase

(注意,-p和mpassword之间没有空格)

享受:)

我也遇到过类似的问题。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 18:10 Linode 1GB Ram中,我遇到了这个错误。在检查了/var/log/mysql/error.log之后,我发现了这个:

[注]InnoDB: innodb_empty_free_list_algorithm由于缓冲池大小较小,修改为legacy。为了使用回退,请将缓冲池至少增加到20MB。

我把我的linode升级到2GB,用sudo mysql重新启动mariadb。接下来运行mysql_secure_admin,但是没有为user-as ususl设置根密码,直到更改根用户使用mysql_native_password插件。 不确定,但似乎袜子是创建的,但由于我的VPS内存不足,服务器关闭了。

我也遇到了这个问题,但我刚刚遇到了:

sudo service mysql restart 

这对我很管用。

我的服务器存储空间已满,导致Mysql无法启动。从这里得到了灵感。增加高清和重新启动修复了这个问题。