无法启动 phpMyAdmin。不断收到 #2002 套接字错误

Posted

技术标签:

【中文标题】无法启动 phpMyAdmin。不断收到 #2002 套接字错误【英文标题】:Can't start phpMyAdmin. Keep getting the #2002 socket error 【发布时间】:2012-08-21 11:55:54 【问题描述】:

在过去的 12 个小时里,我一直在尝试设置 mysqlphpMyAdmin,但没有任何成功。是的,经过数小时的谷歌搜索后,我知道这是一个常见问题,我已经阅读了有关 *** 的类似查询,但仍然无法提供解决方案.....

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

$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)。

【问题讨论】:

发布您的config.inc.php 代码.. 再次检查mysql是否启动。 可能与***.com/questions/4219970/…有关 重启 MySQL。 OSx:sudo /usr/local/mysql/support-files/mysql.server restart,Linux:sudo service mysql start(旧版本:sudo /etc/init.d/mysql start 【参考方案1】:

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

解决方案是导航到 mysql 文件夹,在我的例子中,

/Applications/MAMP/db/mysql56/

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

【讨论】:

这对我有用,而 killall -9 mysqld 没有。我记得它发生在系统崩溃之后没有干净地终止。 我实际上只需要 rm ib_logfile* (在 mysql 目录中;我还移动到备份子文件夹而不是硬 rm)。如果我删除了ibdata1,我发现数据库以某种方式损坏 - mysqld 启动并且在 phpMyAdmin 中我可以看到左侧面板中列出的所有表,但不在主面板中,也无法访问任何表。当ibdata1 恢复并且mysqld 再次重新启动时,一切恢复正常。【参考方案2】:
    退出 MAMP 打开终端 类型:killall -9 mysqld 重启 MAMP

【讨论】:

发生这种情况的原因和解决方案有多种。 @axelbrz 我很高兴能帮上忙。 这也对我有用。我们能否解释一下这会起作用的原因@andrewoodleyjr 吗?【参考方案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

【讨论】:

确保您编辑的是 php.ini 而不是 php.ini.default。【参考方案4】:

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

根据我的经验,这是由您的 mysql 的套接字变量引起的。默认情况下,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 现在应该可以工作了。

【讨论】:

【参考方案5】:

检查配置文件:

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

重启 MySQL: 操作系统:sudo /usr/local/mysql/support-files/mysql.server restart

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

【讨论】:

【参考方案6】:

在 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

【讨论】:

【参考方案7】:

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

brew services restart mariadb

【讨论】:

【参考方案8】:

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

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

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

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

    查找以下行;

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';

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

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

【讨论】:

【参考方案9】:

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

【讨论】:

-1 因为apt-get 例程适用于 debian 系统;这个问题被分配了一个macos 标签。问题中也明确说明了正在使用的MySQL版本。

以上是关于无法启动 phpMyAdmin。不断收到 #2002 套接字错误的主要内容,如果未能解决你的问题,请参考以下文章

PhpMyAdmin - 错误无法在没有错误的情况下启动会话:如何修复?

尝试启动docker时不断收到无法读取CA证书

phpMyAdmin 无法登录 Centos 7 上的 MySQL 服务器

Phpmyadmin 不断要求输入密码

无法从网络浏览器访问phpmyadmin

无法登录到 phpmyadmin 错误 #1862 - 您的密码已过期