我在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服务
启动mysql服务
如果以上还不能解决问题,那就走吧……
完全卸载MySQL
sudo apt-get remove --purge mysql\*
重新安装它
sudo apt install mysql-server mysql-client
测试它是否运行
sudo mysql
安装php驱动程序
sudo apt install php7.4 php7.4-fpm php7.4-mysql php7.4-cgi php7.4-cli php7.4-common
你可以用php7替换php7.4。X或php8.0.12或更高版本 非常好!
❗️小心,如果没有保存,您将丢失数据。如果可能的话,请备份您的数据。
其他回答
我通过杀死mysql进程来解决这个问题:
ps -ef | grep mysql
kill [the id]
然后我再次启动服务器:
sudo /etc/init.d/mysql restart
但是start也同样有效:
sudo /etc/init.d/mysql start
然后我以管理员身份登录,就搞定了。
我也有同样的问题。我找到了这个。
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’
这是因为在启动MySQL客户端之前没有运行mysqld守护进程。文件/var/lib/mysql/mysql.在运行MySQL的第一个实例时,将自动创建sock。
修复:
首先启动MySQL守护进程,然后输入MySQL:
/etc/init.d/mysqld start
mysql
修改MySQL Root密码
默认情况下,MySQL数据库的root密码为空。从安全角度考虑,将MySQL根密码更改为新密码是一个好主意。
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root';
mysql> FLUSH PRIVILEGES;
完成后,通过登录进行检查:
mysql -u root -p
Enter Password: <your new password>
安装mysql服务器:
sudo apt-get install mysql-server
enter password as root
登录:
mysql -u root -p root
这里-u用户名和-p密码是在安装MySQL服务器时给出的。它会起作用,就像它对我起作用一样。
确保你有重要数据库的备份,然后尝试卸载MySQL相关的东西:
apt-get remove --purge mysql\*
然后重新安装:
apt-get install mysql-server mysql-client
这对我来说很有效,数据被保存了下来。
如果PHP MySQL显示错误,您可能需要重新安装PHP MySQL:
apt-get install php5-fpm php5-mysql
我曾经遇到过这个问题,并通过安装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,那么问题就可以解决了。