我在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,卸载它或重新安装它。
当前回答
您可以首先检查服务是否正在运行,使用:
ps ax | grep mysql
我得到了这样的回答:
6104 pts/0 S 0:00 /bin/sh /usr/bin/mysqld_safe
6431 pts/0 Sl 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --pid-file=/var/run/mysqld/m
没有响应意味着服务没有运行,请执行以下操作:
service mysql start
其他回答
根据我的经验,你需要先检查服务器是否正在运行,然后再尝试配置MySQL。最后一个解决方案是重新安装MySQL。
一个建议:总是问MySQL问题是什么。在我的例子中,减少/var/log/mysql/error.log,看到这个:
2015-07-28 12:01:48 23224 [ERROR] /usr/sbin/mysqld: unknown variable 'log_slow_queries=/var/log/mysql/mysql-slow.log'
2015-07-28 12:01:48 23224 [ERROR] Aborting
它在抱怨,因为我在my.cnf中未注释此选项,但在注释此选项后,它启动时没有任何问题。
安装mysql服务器:
sudo apt-get install mysql-server
enter password as root
登录:
mysql -u root -p root
这里-u用户名和-p密码是在安装MySQL服务器时给出的。它会起作用,就像它对我起作用一样。
我现在遇到了这个问题,并且解决了它。
尽管您安装了mysql-server,但是需要运行守护进程才能使客户机连接到它。
首先检查mysql服务器是否正在运行:
netstat -tap | grep mysql
你应该会看到这样的东西:
$ sudo netstat -tap | grep mysql
tcp 0 0 localhost:mysql *:* LISTEN 6639/mysqld
如果您没有运行服务器,请使用以下命令启动守护进程:
/etc/init.d/mysql restart
如果已经安装,这应该可以解决您的问题。
为了防止出现这个问题,您必须从命令行优雅地关闭服务器,而不是直接下电服务器。
shutdown -h now
这将在关闭机器之前停止正在运行的服务。
基于Centos,当你遇到这个问题时,一个额外的方法是移动mysql.sock:
mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
service mysqld start
重新启动服务将创建一个名为mqsql.sock的新条目