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

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

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


当前回答

我通过在mysqld部分([mysqld])中删除/etc/mysql/my.conf中的这一行来解决这个问题:

default-character-set=utf8

重新启动,它可以正常工作。

其他回答

在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内存不足,服务器关闭了。

在我的情况下,我错过了mysql服务器。所以在通过sudo apt-get install mysql-server安装它之后,我又可以连接了。

根据我的经验,你需要先检查服务器是否正在运行,然后再尝试配置MySQL。最后一个解决方案是重新安装MySQL。

这个答案很可能会被淹没在这里,但也许有人会偶然发现它。

在我的例子中,SELinux阻止用户/应用程序连接到MySQL (MariaDB)服务器套接字。在RHEL上,如果启用了SELinux,请检查/var/log/audit/audit.log。

将/opt/lampp/etc/my.cnf文件复制到/etc/mysql/my.cnf

在终端类型中:

mysql -u root

你会得到mysql>提示:

mysql> Update mysql.user set Password=PASSWORD('your_password') where user='root';

mysql> FLUSH PRIVILEGES;