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

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

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


当前回答

我也遇到过类似的问题。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,这可能是特权的问题。

检查您的目录权限。在root组中是不够的,还可以在MySQL写入的目录上使用chmod(例如,/var/run/mysqld/用于创建mysqld. exe)。pid文件)。

这对我很有帮助。

我认为当你得到错误的时候

ERROR 2002 (HY000):无法通过套接字/var/lib/ MySQL / MySQL .sock连接到本地MySQL服务器

我建议你先检查一下mysql守护进程是否在运行…大多数情况下,默认情况下它不会运行。你可以通过/etc/init.检查d / mysqld的地位。

如果它没有运行,那么先启动它:

.../etc/init.d/mysqld start.

我打赌它会110%有效。

我以前在Kubuntu 20.04中遇到过这个问题。我的解决办法就是跑:

sudo dpkg --configure -a

原因是dpkg崩溃了。

我以前也遇到过这个问题,我通过跑步解决了它:

sudo /etc/init.d/mysql start

我想服务停止了。

一个建议:总是问MySQL问题是什么。在我的例子中,减少/var/log/mysql/error.log,看到这个:

2015-07-28 12:01:48 23224 [ERROR] /usr/sbin/mysqld: unknown variable 'log_slow_queries=/var/log/mysql/mysql-slow.log'
2015-07-28 12:01:48 23224 [ERROR] Aborting

它在抱怨,因为我在my.cnf中未注释此选项,但在注释此选项后,它启动时没有任何问题。

我也面临着同样的问题,如果你的mysql服务器默认不运行,它会在一些sec后再次停止,所以你再次运行($ sudo service mysql start)命令,你可以改变,如果知道。

对于那个use命令

$ sudo service mysql start   

(如果需要,请输入用户密码,因为我们使用sudo) 然后运行

$ sudo mysql -u root -p          (put user password if required )

现在你有了数据库