15

在过去的 12 小时里,我一直在尝试设置 mysql 和 phpMyAdmin,但没有任何成功。是的,经过数小时的谷歌搜索后,我知道这是一个常见问题,我已经阅读了有关 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)。

4

9 回答 9

16

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

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

/Applications/MAMP/db/mysql56/

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

于 2017-01-23T11:41:38.900 回答
13
  1. 退出 MAMP
  2. 打开终端
  3. 类型:killall -9 mysqld 重启 MAMP
于 2014-01-07T06:02:31.970 回答
3

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

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

[mysqld_safe] socket = /tmp/mysql.sock

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

mysql.default_socket = /tmp/mysql.sock
于 2012-12-13T05:05:41.907 回答
3

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

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

您可以通过登录到您的 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 现在应该可以工作了。

于 2017-02-13T09:16:42.043 回答
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:)

于 2017-07-26T16:23:40.863 回答
0

如果您使用的是自制软件,请重新启动 mariadb。我也遇到了同样的问题,在停止并启动 mariadb 后,它又开始工作了。

brew services restart mariadb

于 2017-08-11T10:27:59.973 回答
0

在 Windows 7 Ultimate、AppServ 上遇到了这个问题。只需重新加载 SQL 和 Apache(但您需要重新加载它们,仅重新加载 Apache 不起作用)。

PHPMyAdmin 4.6.6
服务器:Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
服务器版本:5.7.17-log - MySQL 社区服务器 (GPL)
PHP: 5.6.30
于 2017-06-08T11:16:21.830 回答
0

我在运行 High Sierra 的 macbook pro 上使用 MAMP,就我而言,我尝试了以上所有方法,但它仍然对我不起作用,所以我做了以下操作:

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

在此处输入图像描述

  1. 在我们触摸之前备份(即在 Mac 上,右键单击并复制)“config.inc.php”文件。您可以调用或重命名它“config_old.inc.php”

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

在此处输入图像描述

  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。/

在此处输入图像描述

至 :

$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 浏览器中保存并刷新。

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

于 2018-07-31T14:26:59.447 回答
-2

检查是否mysql-server已经安装,如果没有 sudo apt-get install mysql-server

于 2018-08-02T02:51:14.210 回答