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

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

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


当前回答

我的服务器上的简单解决方案:在使用MySQL数据库迁移到新的Debian 7服务器后,第二个本地IP地址127.0.1.1在我的hosts文件中丢失了。添加这个解决了警告:

echo -e "\n127.0.1.1       $(hostname)" >> /etc/hosts

其他回答

而不是使用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进程来解决这个问题:

ps -ef | grep mysql
kill [the id]

然后我再次启动服务器:

sudo /etc/init.d/mysql restart

但是start也同样有效:

sudo /etc/init.d/mysql start

然后我以管理员身份登录,就搞定了。

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

尝试重新启动mysql服务。

> service mysql restart

or

> service mysql stop

> service mysql start

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

检查磁盘空间

> df -h

对我来说是:

打开/etc/mysql/my.cnf或/etc/my.cnf,搜索“bind-address”。结果是127.0.0.1。我将其转换为localhost,因此行结果应该是'bind-address = localhost'。

否则,你应该使用bind-address指令中存在的IP地址运行你的MySQL服务器,即MySQL -h 127.0.0.1。

我通过执行以下命令修复了这个问题:

mysql.server start

如果你在mac上使用brew安装mysql,只需使用:

brew services start mysql