无法启动phpMyAdmin。继续得到#2002套接字错误

时间:2012-08-26 22:34:09

标签: mysql macos sockets phpmyadmin

我一直试图在过去12小时内设置mysql和phpMyAdmin,但没有任何成功。是的,经过几个小时的Google-ing后,我知道这是一个常见的问题,我在stackoverflow上读过类似的查询,但仍然无法提供解决方案......

我已经尝试了一切 - 从改变

开始
$cfg['Servers'][$i]['port']

config.inc.php文件中3306127.0.0.1 ....

config.inc.php文件中输入套接字路径 - tmp/mysql.php/var/mysql/mysql.sock

我已经尝试更改my.cnf文件和php.ini中的套接字路径....但我一直收到同样的错误:

#2002 - No such file or directory
The server is not responding (or the local server's socket is not correctly configured).

我正在使用MySQL(5.1.65),PhpMyAdmin(3.5.2.2)和PHP(5.3.8)。

9 个答案:

答案 0 :(得分:15)

我最近在Mac OS Sierra上遇到过这个问题。 Apache服务器正在运行,但mysql不行。在寻找解决方案后,阅读了很多帖子,我找到了这个解决方案。它有效!

解决方案是导航到mysql文件夹,在我的情况下是

/Applications/MAMP/db/mysql56/

并删除除文件夹以外的所有文件。然后重新启动MAMP。

答案 1 :(得分:13)

  1. 退出MAMP
  2. 打开终端
  3. 类型:killall -9 mysqld重启MAMP

答案 2 :(得分:3)

我遇到的问题是因为PHP试图通过UNIX套接字而不是TCP进行连接。这类似于此错误:Error when connecting to MySQL using PHP/PDO

首先,确保你有mysql的my.cnf配置,然后添加你的默认套接字位置:

[mysqld_safe] socket = /tmp/mysql.sock

接下来在你的php.ini中,让PHP知道它在哪里:

mysql.default_socket = /tmp/mysql.sock

答案 3 :(得分:3)

由于你没有提到MAMP,我假设你没有使用它,所以这是手动安装,但它可能也适用于MAMP。

根据我的经验,这是由mysql的socket变量引起的。默认情况下,MySQL使用/tmp/mysql.sock。

您可以通过登录MySQL并执行

来获取MySQL套接字变量
show variables like '%socket%'

将显示套接字文件的位置。

现在,创建一个php phpinfo()文件,并在mysql或mysqli部分下查找mysql.default_socket。我的是/var/mysql/mysql.sock。这表明PHP正在寻找与mysql使用的位置不同的文件。

假设您有相同的值,请打开新终端并输入

cd /var
mkdir mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock

这将创建一个指向PHP正在检查的位置内的mysql套接字文件的链接。

PHPMyAdmin现在可以正常工作。

答案 4 :(得分:2)

检查配置文件:

/* $cfg['Servers'][$i]['host'] = 'localhost'; */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['compress'] = false;

重启MySQL: OSx:sudo /usr/local/mysql/support-files/mysql.server restart

Linux:sudo service mysql start (旧的linux:sudo /etc/init.d/mysql start

答案 5 :(得分:0)

在Windows 7旗舰版AppServ上出现此问题。 只需重新加载SQL和Apache(但你需要重新加载它们,只重新加载Apache没有工作)。

PHPMyAdmin 4.6.6
Server: Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
Server version: 5.7.17-log - MySQL Community Server (GPL)
PHP: 5.6.30

答案 6 :(得分:0)

如果您使用的是homebrew restart mariadb。我也有同样的问题,在停止并启动mariadb后,它又开始工作了。

brew services restart mariadb

答案 7 :(得分:0)

我在运行High Sierra的Macbook Pro上使用MAMP,并且 就我而言,我尝试了上述所有方法,但仍然对我不起作用,因此我进行了以下操作:

  1. 查找MAMP的安装位置,更具体地说,查找“ / Applications / MAMP / bin / phpMyAdmin”中的“ config.inc.php”文件。

enter image description here

  1. 在触摸“ config.inc.php”文件之前,先对其进行备份(例如,在Mac上,右键单击并重复)。您可以将其命名为“ config_old.inc.php”

  2. 在您喜欢的IDE或文本编辑器中打开文件。

enter image description here

  1. 寻找以下几行;

i)$ cfg ['Servers'] [$ i] ['host']

ii)$ cfg ['Servers'] [$ i] ['port']

iii)$ cfg ['Servers'] [$ i] ['socket']

更改自:

$cfg['Servers'][$i]['host'] = 'localhost';

至:

$cfg['Servers'][$i]['host'] = '127.0.0.1';

更改自:

$cfg['Servers'][$i]['port'] = '3306';

/ 这可能是您的默认设置。只需检查一下您的MAMP安装首选项,按CMD +,然后确认您指定的端口号即可。就我而言,我将其更改为8889。 /

enter image description here

至:

$cfg['Servers'][$i]['port'] = '8889';

再次取决于安装MAMP的位置,或更具体地说,取决于您的mysql。

更改自:

$cfg['Servers'][$i]['socket'] = 'some_folder_path or EMPTY';

至:

$cfg['Servers'][$i]['socket'] = '/Applications/MAMP/Library/bin/mysql/mysql.sock';

修改后,在Web浏览器中保存并刷新。

为我工作。希望这可以帮助。干杯。

答案 8 :(得分:-2)

检查是否已安装mysql-server sudo apt-get install mysql-server