我在Ubuntu 12.04 LTS (Precise穿山甲)上安装了LAMP,然后在phpMyAdmin上设置根密码。我忘记密码了,现在无法登录。当我试图通过终端更改密码时,我得到:
错误2002 (HY000):无法通过套接字连接到本地MySQL服务器 ' / var /运行/ mysqld / mysqld。袜子”(2)
我该如何解决这个问题?我无法打开LAMP,卸载它或重新安装它。
我在Ubuntu 12.04 LTS (Precise穿山甲)上安装了LAMP,然后在phpMyAdmin上设置根密码。我忘记密码了,现在无法登录。当我试图通过终端更改密码时,我得到:
错误2002 (HY000):无法通过套接字连接到本地MySQL服务器 ' / var /运行/ mysqld / mysqld。袜子”(2)
我该如何解决这个问题?我无法打开LAMP,卸载它或重新安装它。
当前回答
安装mysql-server解决了这个问题
sudo apt-get install mysql-server
其他回答
以我为例,我做了一些研发工作:
我能够连接到MySQL使用
root-debian#mysql -h 127.0.0.1 -u root -p
但是在mysql中-u root -p行不通。
我在my.cnf中没有找到任何绑定地址。所以我注释了参数socket=/var/lib/mysql/mysqld。袜子在我的。cnf导致我登录的问题。
重新启动服务后,一切正常:
root@debian:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.6.19 MySQL Community Server (GPL)
对我来说是:
打开/etc/mysql/my.cnf或/etc/my.cnf,搜索“bind-address”。结果是127.0.0.1。我将其转换为localhost,因此行结果应该是'bind-address = localhost'。
否则,你应该使用bind-address指令中存在的IP地址运行你的MySQL服务器,即MySQL -h 127.0.0.1。
MySQL服务器进程没有创建套接字,或者客户端在错误的地方寻找套接字。
我的第一个建议是检查MySQL服务器是否正在运行。第二个建议可能是,MySQL服务器是否运行在另一个主机上?如果是这样,在终端的MySQL客户端中添加-h <hostname>标志。
如果MySQL确实在运行,并且在本地运行,请检查my.cnf文件。应该有这样的线条
socket = /var/run/mysqld/mysqld.sock
看看是否与你在文章中提到的套接字位置相匹配。
根据经验,我想说最可能的情况是你的MySQL服务器根本没有运行,或者与你在终端上运行MySQL客户端不在同一台主机上运行。
安装mysql-server解决了这个问题
sudo apt-get install mysql-server
我找到了解决办法
在触发命令之前:mysql_secure_installation
步骤1:sudo systemctl stop mariadb 步骤2:sudo systemctl启动mariadb 步骤3:mysql_secure_installation
然后它会询问根密码,你可以简单地按Enter并设置你的新根密码。