我在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/mysql.log日志
对我来说,这不是工作的BCS的错误:
无法为缓冲池错误分配内存
我在/etc/my.cnf中添加了这一行,并启动了服务:
通过innodb_buffer_pool_size = 100
其他回答
您正在本地运行,这意味着您的客户端与服务器运行在同一台机器上。
确保你的Unix用户可以访问/读取/var/run/mysqld .sock:
ls -als /var
ls -als /var/run
ls -als /var/run/mysqld
ls -als /var/run/mysqld/mysqld.sock
如果没有,请与系统管理员或数据库管理员联系,以提供对这些目录的足够的读/执行访问,或将套接字文件移到其他位置。
我以前在Kubuntu 20.04中遇到过这个问题。我的解决办法就是跑:
sudo dpkg --configure -a
原因是dpkg崩溃了。
我以前也遇到过这个问题,我通过跑步解决了它:
sudo /etc/init.d/mysql start
我想服务停止了。
在我的情况下,我有文件损坏在我的mysql数据文件夹
mv /var/lib/mysql /var/lib/mysql_old
因此,当我有备份时,我将目录移动到“_old”,并再次启动docker。它用干净的数据创建了一个新文件夹mysql,套接字工作了。
我尝试了以下步骤:
以超级用户登录或使用sudo 使用gedit打开/etc/mysql/my.cnf 找到bind-address,并将其值更改为数据库服务器主机的IP地址。对我来说,是localhost或127.0.0.1 保存并关闭文件。 回到终端,执行sudo service mysql start
这对我很有效。
我也遇到过类似的问题。Mysql无法启动:
sudo service mysql start
start: Job failed to start
如果我禁用了apparmor:
sudo aa-complain /etc/apparmor.d/*
问题解决了。问题是mysqld试图访问/运行/mysqld/mysqld。Sock,但是apparmor配置文件只允许/var/run/mysqld/mysqld. SockSock (/var/run是符号链接到/run的,所以它们实际上是相同的)。不确定为什么mysqld不使用var路径,因为这是在所有配置文件中设置的,但你可以通过在/etc/ apparor .d/usr.sbin.mysqld中添加以下内容来解决这个问题
/run/mysqld/mysqld.pid rw,
/run/mysqld/mysqld.sock rw,