如何在Ubuntu中解决XAMPP 1.7.7 - PHPMyAdmin - MySQL错误#2002

22

我在很多论坛上搜索了各种关于相似主题的帖子,但似乎都对我无济于事。

我刚刚在我的Ubuntu 11.10操作系统上安装了XAMPP 1.7.7。除了phpMyAdmin之外,一切正常运行。

访问http://localhost/phpmyadmin时,我遇到了以下错误:

MySQL说:

#2002 - The server is not responding 
(or the local MySQL server's socket is not correctly configured) 

Connection for controluser as defined in your configuration failed.
当我使用以下命令启动服务时:sudo /opt/lampp/lampp start
我会得到以下提示信息:

XAMPP: 另一个Web服务器守护程序已经在运行。
XAMPP:另一个MySQL守护进程已经在运行。
XAMPP:另一个FTP守护进程已经在运行。
XAMPP for Linux 已启动。

如有任何建议,将不胜感激。

1
请检查您的MySQL服务是否已启动? - Raptor
1
当然可以!在输入命令:/opt/lampp/lampp start 后。 - CompilingCyborg
11个回答

74

事实证明解决“Another daemon is already running”问题的方法是停止所有相关服务。

我用来解决问题的命令如下:

sudo /opt/lampp/lampp stop              
sudo /etc/init.d/apache2 stop    
sudo /etc/init.d/mysql stop

或者,您也可以进行输入:

sudo service apache2 stop
sudo service mysql stop

之后,我们再次启动lampp服务:

sudo /opt/lampp/lampp start

现在,在打开时必须没有任何问题:

http://localhost                  
http://localhost/phpmyadmin

@surajmishra 我执行以下命令时出现“命令未找到”的错误: sudo service apache2 stop sudo service mysql stop而且我执行以下命令时出现“无法识别的服务”错误: sudo service apache2 stop sudo service mysql stop - Naguib Ihab
你需要在第一个命令前添加一个“/”,使其变为:sudo /opt/lampp/lampp stop。而不是当前的sudo opt/lampp/lampp stop。 - psvj
1
它在我的情况下不起作用。我已经停止和启动了,但它仍然不起作用。出现了相同的错误。 - jameshwart lopez
你好,这是否意味着我们在两个位置安装了mysql?当第一个位置停止(sudo service mysql stop)时,(sudo /opt/lampp/lampp start)的mysql将会工作。我该如何永久性地卸载Linux服务中的mysql并摆脱它? - Habib Rehman
我不认为这是由于mysql服务被阻止了,哦,我浪费了两天时间在这上面。 - newbie
谢谢。我也遇到了xampp和lampp的冲突问题,这个解决方案让我的一天变得美好了 :) - Niroj Shr

7
  1. 打开phpmyadmin/libraries/目录下的config.default.php文件;
  2. 找到$cfg['Servers'][$i]['host'] = 'localhost';将其改为$cfg['Servers'][$i]['host'] = '127.0.0.1';
  3. 刷新phpmyadmin页面并登录。

4
在这些说明的每个步骤中,请检查问题是否已解决。如果是,太棒了!否则,请继续。
  1. 打开服务。(我能够通过右键单击Apache启动图标来打开。)
  2. 向下滚动到MySQL。单击启动。这将消除#2002错误。现在您将有一个新的错误:

#1045 - 访问被拒绝 用户'root'@'localhost'(使用密码: NO)

  1. 编辑C:\wamp\apps\phpmyadmin3.5.1\config.inc.php文件,将$cfg['Servers'][$i]['extension'] = 'mysqli';更改为= 'mysql'
  2. 再次打开服务并停止MySQL
  3. 在服务中启动wampmysqld

我知道这很复杂,但这就是对我有效的方法。一些帖子可能会说您需要在配置文件中设置密码,但您不需要。我的仍然是""

希望这有所帮助。


2
OP明确指出操作系统是Ubuntu而不是Windows。 - SparK

2

我停止了MySQL sudo service mysql stop,然后启动了xammp sudo /opt/lampp/lampp start,它正常工作了!


2
问题可能在于系统启动时正在运行的mysql-server和apache2服务。您可以执行以下操作。
sudo /opt/lampp/lampp stop

停止已经运行的默认服务
sudo service apache2 stop
sudo service mysql  stop

为了彻底删除服务,以便它们不会在下一次系统重启时出现问题,如果您使用的是Ubuntu(Debian)

sudo apt-get remove apache2
sudo apt-get remove mysql-server

如果你使用的是Redhat或其他系统,可以使用yum或类似的命令卸载服务。

然后重新启动LAMPP。

sudo /opt/lampp/lampp start

此外,不要在系统中安装mysql-server,因为它可能会在系统启动时启动,占用端口,并对lampp的mysql造成问题。

我执行以下命令时出现“找不到命令”错误: sudo apt-get remove apache2 sudo apt-get remove mysql-server而且,当我执行以下命令时,也出现了“无法识别的服务”错误: sudo service apache2 stop sudo service mysql stop - Naguib Ihab

1

通过终端输入以下命令,打开config.inc.php文件:

sudo gedit /opt/lampp/phpmyadmin/config.inc.php

文件将在gedit中打开。
现在打开文件并编辑。
$cfg['Servers'][$i]['auth_type'] = 'localhost';

$cfg['Servers'][$i]['auth_type'] = 'cookie';

并将用户名保留为:root密码:

还要确保带有用户名和密码的行没有被注释:

//$cfg['Servers'][$i]['user'] = 'root'; //$cfg['Servers'][$i]['password'] = '';

确保以上行中的//被删除。

1
前往 phpMyAdmin/config.inc.php,编辑该行。
$cfg['Servers'][$i]['password'] = '';

$cfg['Servers'][$i]['password'] = 'yourpassword';

这个问题可能是由于将密码设置为root而导致的,因此phpmyadmin无法连接到mysql数据库。
最后一件事情要改变。
$cfg['Servers'][$i]['extension'] = 'mysql';

$cfg['Servers'][$i]['extension'] = 'mysqli';

现在重新启动您的服务器,然后查看。


0
请检查您的xampp mysql安装中的mysql.ini文件...它位于xampp/mysql/bin目录下。
请检查第43行。
> log_error="mysql_error.log"
> #bind-address="127.0.0.1"

如果第43行还被注释掉,请取消注释


我在/opt/lampp目录下根本找不到mysql.ini文件。我已经递归地在该目录中搜索了该文件,但是什么也没找到。它可能有不同的名称吗? - CompilingCyborg
那也是我在我的Windows电脑上遇到的相同问题...完全相同的错误消息,这就是为什么我将其发布为我的答案的原因。是否有/opt/lampp/mysql目录? - Netorica
感谢您的帮助。我的操作系统是Ubuntu 11.10。实际上,没有opt/lampp/mysql目录。我认为XAMPP 1.7.7的Linux版本有不同的文件和文件夹排列方式。 - CompilingCyborg

0

您可以通过命令提示符连接MySQL来检查它。

我认为您的MySQL数据库被防火墙阻止了。一旦停止计算机上所有杀毒软件的服务,然后尝试连接。

我也遇到过这个问题,并通过阻止所有防火墙进行了纠正。


0

虽然我使用的是Mac OS 10.9,但这个解决方案可能也适用于其他人,比如Ubuntu。

在XAMPP控制台中,我发现只有在重启包括Apache Web服务器在内的所有内容后,phpMyAdmin才能重新开始工作。

现在没有问题了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接