我在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,卸载它或重新安装它。
当前回答
令人惊讶的是,这个问题的另一个原因是删除了/var/log/mariadb文件夹 这是我的情况后,我删除了这个日志文件夹。创建完成后,错误消失了。
其他回答
我以前在Kubuntu 20.04中遇到过这个问题。我的解决办法就是跑:
sudo dpkg --configure -a
原因是dpkg崩溃了。
我以前也遇到过这个问题,我通过跑步解决了它:
sudo /etc/init.d/mysql start
我想服务停止了。
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为我解决了这个问题。在基于rhel的服务器上,只需运行:
sudo yum upgrade mysql-server
我也有同样的问题。我找到了这个。
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>
如果你使用Ubuntu,这可能是特权的问题。
检查您的目录权限。在root组中是不够的,还可以在MySQL写入的目录上使用chmod(例如,/var/run/mysqld/用于创建mysqld. exe)。pid文件)。
这对我很有帮助。