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

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

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


当前回答

安装mysql服务器:

sudo apt-get install mysql-server
enter password as root

登录:

mysql -u root -p root

这里-u用户名和-p密码是在安装MySQL服务器时给出的。它会起作用,就像它对我起作用一样。

其他回答

我也遇到了这个问题,但我刚刚遇到了:

sudo service mysql restart 

这对我很管用。

解决方案1 清除(或删除如果你想保留数据库)任何mysql包,重新重复安装:

sudo apt purge "mysql*"

-Autoremove包

sudo apt autoremove

-停止apparmor服务

sudo systemctl stop apparmor

-让apparmor放弃它的配置文件(我以为用stop就够了,但对我来说不是。systemctl不起作用)

sudo service apparmor teardown

重新安装mysql服务器

sudo apt install mysql-server

安装apparmor-utils,在apparmor中为mysql创建一个允许mysql运行的配置文件

sudo apt install apparmor-utils

检查mysql-server的状态(必须是Active(running))

sudo systemctl status mysql

在apparmor中生成mysql的配置文件

sudo aa-genprof mysql

在其他终端运行mysql(输入root密码)

mysql -u root -p

当apparmor在另一个终端生成配置文件时,在MySQL中执行-do操作

创建数据库中的食物

-切换到另一个终端,按“s”(提示说这是“扫描”)

-对你认为合适的apparmor的政策说“是”(我猜所有的mysql),说“是”按“a”允许

-按“f”完成apparmor配置文件

-重启apparmor服务

sudo systemctl start apparmor

检查一下你是否可以在其他终端上使用mysql

Mysql>exit

mysql -u root -p

如果一切正常,您可以从命令行使用mysql。

对我来说,更新解决了这个问题:

在Ubuntu上:

sudo apt-get update
sudo apt-get upgrade

CentOS:

sudo yum update

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.

我曾经遇到过这个问题,并通过安装mysql-server解决了它,所以请确保您已经安装了mysql-server,而不是mysql-client或其他东西。

这个错误意味着文件/var/run/mysqld/mysqld.Sock不存在,如果你没有安装mysql-server,那么这个文件就不存在。在这种情况下,安装它

sudo apt-get install mysql-server

但是如果mysql-server已经安装并且正在运行,那么您需要检查配置文件。

配置文件如下:

/etc/my.cnf
/etc/mysql/my.cnf
/var/lib/mysql/my.cnf

在/etc/my.cnf目录下,套接字文件配置可能是/tmp/mysql。在/etc/mysql/my.cnf中,套接字文件配置可能是/var/run/mysqld/mysqld.sock。因此,删除或重命名/etc/mysql/my.cnf,让mysql使用/etc/my.cnf,那么问题就可以解决了。