我在Ubuntu 12.04 LTS (Precise穿山甲)上安装了LAMP,然后在phpMyAdmin上设置根密码。我忘记密码了,现在无法登录。当我试图通过终端更改密码时,我得到:
错误2002 (HY000):无法通过套接字连接到本地MySQL服务器 ' / var /运行/ mysqld / mysqld。袜子”(2)
我该如何解决这个问题?我无法打开LAMP,卸载它或重新安装它。
我在Ubuntu 12.04 LTS (Precise穿山甲)上安装了LAMP,然后在phpMyAdmin上设置根密码。我忘记密码了,现在无法登录。当我试图通过终端更改密码时,我得到:
错误2002 (HY000):无法通过套接字连接到本地MySQL服务器 ' / var /运行/ mysqld / mysqld。袜子”(2)
我该如何解决这个问题?我无法打开LAMP,卸载它或重新安装它。
当前回答
您正在本地运行,这意味着您的客户端与服务器运行在同一台机器上。
确保你的Unix用户可以访问/读取/var/run/mysqld .sock:
ls -als /var
ls -als /var/run
ls -als /var/run/mysqld
ls -als /var/run/mysqld/mysqld.sock
如果没有,请与系统管理员或数据库管理员联系,以提供对这些目录的足够的读/执行访问,或将套接字文件移到其他位置。
其他回答
在我的案例中,这只是因为mysql停止了,因为/etc/mysql/my.cnf中定义的/var/log/mysql文件夹丢失了创建后,我可以启动mysql,它像往常一样运行。
我也有同样的问题。我找了半天也没找到答案。
最后我检查了/tmp目录,权限是755。我将其权限更改为777,mysqld启动良好,没有任何问题。
我认为当你得到错误的时候
ERROR 2002 (HY000):无法通过套接字/var/lib/ MySQL / MySQL .sock连接到本地MySQL服务器
我建议你先检查一下mysql守护进程是否在运行…大多数情况下,默认情况下它不会运行。你可以通过/etc/init.检查d / mysqld的地位。
如果它没有运行,那么先启动它:
.../etc/init.d/mysqld start.
我打赌它会110%有效。
在我的情况下,它是磁盘已满,mysqld不能再启动。
尝试重新启动mysql服务。
> service mysql restart
or
> service mysql stop
> service mysql start
如果它不识别停止命令,那么它肯定是磁盘空间。您应该在mysql分区中分配一些空间或使磁盘更大。
检查磁盘空间
> df -h
我不能解释,但在kubuntu 12.04.2之后
Sudo apt-get autoremove linux-headers-3.2.0-37 linux-headers-3.2.0-37-generic
它开始起作用了