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

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

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


当前回答

我也遇到过同样的问题。对我来说,我加载了Garuda Linux的快照,但我没有恢复它,因此得到了上述错误。

解决这个问题的方法是恢复快照。一旦完成,一切都会好起来的。

其他回答

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

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

这个答案与在内存较小的机器上更新到MySQL 5.6有关

我在Debian 8 (Jessie)上从MySQL 5.5升级到5.6时遇到了同样的问题。MySQL没有启动(状态显示为active/exited),简单地让服务MySQL启动不起作用,因为我从/var/logs/ MySQL /error.log日志文件中发现:

InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(136019968 bytes) failed; errno 12
Cannot allocate memory for the buffer pool

内存不够:我只有256 MB的RAM。

在MySQL中有一个设置,performance_schema。默认情况下,它在MySQL 5.5中是关闭的。

https://dev.mysql.com/doc/refman/5.5/en/performance-schema-startup-configuration.html

但在MySQL 5.6中,默认是开启的,只需在/etc/mysql/my.cnf文件中添加以下一行并重新启动,就可以工作了。

performance_schema = off

警告:关闭此设置可能会遇到性能问题,但我猜在开发环境中这不会是问题。

此外,这里有一篇文章,可能有助于配置MySQL使用最小内存,配置MySQL使用最小内存(web存档链接,以防原来的链接在未来过期https://web.archive.org/web/20201112041608/http://www.tocker.ca/2014/03/10/configuring-mysql-to-use-minimal-memory.html)。

我不能解释,但在kubuntu 12.04.2之后

Sudo apt-get autoremove linux-headers-3.2.0-37 linux-headers-3.2.0-37-generic

它开始起作用了

适用于CentOS Linux发行版7.3 mysql。Sock文件路径为/var/lib/mysql/mysql.sock

编辑/etc/my.cnf文件并放入下面的条目 这将解决你的问题。

[client]
user=root
password=Passw0rd
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
bind-address=0.0.0.0

在此之后重新启动服务

service mysql restart

如果您的安装是最近的,您应该确认您的安装是否是安装服务器…mysql -服务器- 5.5 . .可能你只安装了“mysql”..这只是客户端而不是服务器。