我在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,卸载它或重新安装它。
当前回答
我在Ubuntu上有这个,正如我所发现的,有不止一个mysqld实例。
看起来上一个还没有完全停止,而新的已经开始了。运行/ etc / init。d/mysql stop'没有帮助,它总是返回'OK',并且在那之后会自动启动一个新实例:
$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]
$ pgrep mysql
28315
$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]
$ pgrep mysql
28570
$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]
$ pgrep mysql
28763
..... etc ...
幸运的是,下面的命令已经解决了这个问题:
$ sudo service mysql stop
mysql stop/waiting
$ ps -ef | grep mysql
29841 26858 0 10:59 pts/8 00:00:00 grep --color=auto mysql <--- IT's gone !
之后,我能够再次启动mysql,并看到mysql。Sock已经创建成功。
其他回答
如果您正在使用Amazon EC2,并且在实例上遇到了这个问题,那么您只需要执行以下操作:
sudo yum install mysql-server
sudo service mysqld restart
Amazon EC2没有安装服务器(只安装了客户端),因此在这种情况下,您需要在实例上安装服务器,然后尝试
mysql -u root -p
来检验这是否有效。
如果您的安装是最近的,您应该确认您的安装是否是安装服务器…mysql -服务器- 5.5 . .可能你只安装了“mysql”..这只是客户端而不是服务器。
如果你使用Ubuntu,这可能是特权的问题。
检查您的目录权限。在root组中是不够的,还可以在MySQL写入的目录上使用chmod(例如,/var/run/mysqld/用于创建mysqld. exe)。pid文件)。
这对我很有帮助。
为了防止出现这个问题,您必须从命令行优雅地关闭服务器,而不是直接下电服务器。
shutdown -h now
这将在关闭机器之前停止正在运行的服务。
基于Centos,当你遇到这个问题时,一个额外的方法是移动mysql.sock:
mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
service mysqld start
重新启动服务将创建一个名为mqsql.sock的新条目
我尝试了以下步骤:
以超级用户登录或使用sudo 使用gedit打开/etc/mysql/my.cnf 找到bind-address,并将其值更改为数据库服务器主机的IP地址。对我来说,是localhost或127.0.0.1 保存并关闭文件。 回到终端,执行sudo service mysql start
这对我很有效。