首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >错误2002 (HY000):无法通过套接字'/var/run/mysqld/mysqld.sock‘连接到本地MySQL服务器(2)

错误2002 (HY000):无法通过套接字'/var/run/mysqld/mysqld.sock‘连接到本地MySQL服务器(2)
EN

Stack Overflow用户
提问于 2012-07-26 04:10:15
回答 84查看 2.1M关注 0票数 536

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

错误2002 (HY000):无法通过套接字'/var/run/mysqld/mysqld.sock‘连接到本地MySQL服务器(2)

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

EN

回答 84

Stack Overflow用户

发布于 2013-02-23 17:38:35

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

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

代码语言:javascript
复制
sudo apt-get install mysql-server

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

配置文件包括:

代码语言:javascript
复制
/etc/my.cnf
/etc/mysql/my.cnf
/var/lib/mysql/my.cnf

/etc/my.cnf中,套接字文件config可以是/tmp/mysql.sock,而在/etc/mysql/my.cnf中,套接字文件config可以是/var/run/mysqld/mysqld.sock。因此,移除或重命名mysql,让mysql使用/etc/my.cnf,问题就解决了。

票数 319
EN

Stack Overflow用户

发布于 2012-07-26 04:32:50

试试这个:

代码语言:javascript
复制
mysql -h 127.0.0.1 -P 3306 -u root -p <database>

另外(查看它是否正在运行):

代码语言:javascript
复制
telnet 127.0.0.1 3306 

这可能只是/etc/somewhere (取决于Linux distribution)中my.cnf文件中的一个错误配置。

票数 257
EN

Stack Overflow用户

发布于 2016-02-02 09:18:21

我看到了所有这些答案,但none提供了reset password和no accepted 选项。实际的问题是他忘记了他的密码,所以他需要重置,而不是像大多数答案所暗示的那样,看看它是否正在运行(安装或未安装)。( The 忘记了他的密码,所以他需要重置密码,而不是像大多数答案所暗示的那样查看它是否正在运行(安装或未安装))。

重置密码的步骤

遵循以下步骤(如果你真的忘记了密码,即使你现在不在这种情况下,你也可以随时尝试):

  1. Stop mysql

sudo /etc/init.d/mysql停止

或者对于其他发行版本:

sudo /etc/init.d/mysqld stop

  1. 在安全模式下启动MySQL

sudo mysqld_safe --跳过授权表&

  1. 使用超级用户登录到MySQL

mysql -u根目录

  1. 选择要使用的MySQL数据库

使用mysql;

  1. 重置密码

-- MySQL版本< 5.7 update user set password(“password=PASSWORD”) where user =‘user='root';’;-- MySQL 5.7,mysql.user表"password“字段-> "authentication_string”update user set password where user=‘root’;

  1. 刷新权限

刷新权限;

  1. 重新启动服务器

退出

  1. 停止并重新启动服务器

Ubuntu和Debian:

sudo /etc/init.d/mysql停止...sudo /etc/init.d/mysql启动

在CentOS、Fedora和RHEL上:

代码语言:javascript
复制
    sudo /etc/init.d/mysqld stop
    ...
    sudo /etc/init.d/mysqld start

使用新密码登录

mysql -u根目录-p

  1. 键入新密码并再次享受您的服务器,就像什么都没有发生一样

这是从上拍的。

票数 164
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11657829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档