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

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

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


当前回答

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

其他回答

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

尝试重新启动mysql服务。

> service mysql restart

or

> service mysql stop

> service mysql start

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

检查磁盘空间

> df -h

This error can also occur if you try to change the directory where the database is stored, but imput the wrong directory in the configuration file (like a typo in the second drive as D instead of the accurate D_). Instead of telling you the typo directory does not exist, it will tell you that you lack permission to access it (leading you to try to change the permissions for the typo directory, which it will let you do). So if you get this error while changing directories, double check the configuration file and make sure you don't have a typo.

sudo touch /var/lib/mysql/.force_upgrade
sudo rcmysql restart

当我有这个问题的时候

我也有这个问题,但这些答案都帮不了我。问题是不同的,但错误是由OP描述的。

我检查了MySQL的日志在/var/log/mysql,我看到了这个:

150309  5:03:19 [ERROR] /usr/sbin/mysqld: unknown variable   'lower_case_tables_names=1'

我打开/etc/mysql/my.cnf文件并注释掉#这一行。在此之后,我能够连接到数据库。

说实话,我不知道问题出在哪里。由于维护,linode服务器计划重新启动,这个错误突然出现。

打开终端,输入:

sudo apt-get purge mysql-client-core-5.6

sudo apt-get autoremove

sudo apt-get autoclean

sudo apt-get install mysql-client-core-5.5

sudo apt-get install mysql-server  

MySQL数据库核心客户端和MySQL服务器包将是相同的5.5版本。MySQL Client 5.5和MySQL Server 5.5是Ubuntu 14.04中这些包的当前“最佳”版本,由包维护者决定。

如果你想安装MySQL Client 5.6和MySQL Server 5.6,你也可以在Ubuntu软件中心找到MySQL - Client -core-5.6和MySQL - Server -5.6包。重要的是客户端和服务器版本号在两种情况下都要匹配。

这对我很管用。