【问题标题】:PHP Warning: mysqli_connect(): (HY000/2002): Connection refusedPHP 警告:mysqli_connect(): (HY000/2002): 连接被拒绝
【发布时间】:2015-03-10 09:35:58
【问题描述】:

我正在使用 PHP 5.5 和 MAMP(从 here 下载):

我有一个这样的基本脚本:

<?php
$servername = "127.0.0.1";
$username = "root";
$password = "root";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

当我运行这个脚本时,我得到了这个错误:

PHP Warning:  mysqli_connect(): (HY000/2002): Connection refused in /Applications/MAMP/htdocs/test/test.php on line 7

我需要在 MAMP 或 PHP 中设置一些配置问题吗?

【问题讨论】:

  • 如果您将服务器名称更改为 'localhost' 会怎样?您的凭据正确吗?港口?
  • 我尝试了localhost127.0.0.1 和密码root 和空字符串的所有组合。凭据和端口应该是我今天早些时候下载 MAMP 时附带的任何默认值。
  • 连接被拒绝 = mysql 没有监听端口 3306,或者根本没有运行,或者没有设置为允许 TCP 连接,或者有防火墙主动阻止端口 3306。跨度>
  • 啊,MAMP默认MySQL端口为8889
  • 如果您对.ini或其他系统文件进行了任何更改,您需要重新启动所有服务才能使更改生效。

标签: php mysql mamp


【解决方案1】:

如果其他人遇到此问题,则 MAMP 上 mysql 的默认端口是 8889,但 php 期望用于 mysql 的端口是 3306。所以你需要打开 MAMP,进入首选项,将 MAMP mysql 端口更改为3306,然后重启 mysql 服务器。现在连接应该成功了,host=localhost, user=root, pass=root。

【讨论】:

  • 不使用 MAMP,但是当我在 config/database.php 的 CodeIgniter 应用程序中的 'dsn:' 字符串中将其更改为 port=3306 时,它工作得非常好。是什么告诉它寻找 MAMP 端口?
  • 我正在调试这个大约 3 小时!你救了我的一天! :)
【解决方案2】:

有时您需要像这样在服务器中包含 mysql db 端口 ID。

$serverName = "127.0.0.1:3307";

【讨论】:

    【解决方案3】:

    为了让它再次工作,我只是删除了文件

    ib_logfile0

    ib_logfile1

    .

    来自:

    /Applications/MAMP/db/mysql56/ib_logfile0 
    

    Mac 10.13.3
    MAMP:版本 4.3 (853)

    【讨论】:

    • 我尝试了所有方法,这是唯一让我的 Sql Server 恢复的方法......我知道这不是最好的方法,但它对我有用..
    • 在尝试了此页面上的所有其他解决方案之后,这也对我有用。
    • 每次我遇到这个问题时都有效。不确定为什么它不断发生。也许通过强制停止程序?
    【解决方案4】:

    你必须将mamp Mysql数据库端口改为8889。

    【讨论】:

      【解决方案5】:

      就我而言,我使用的是 XAMPP,并且有一个日志告诉我错误。要找到它,请转到 XAMPP 控制面板,然后单击 MySQL 的“配置”,然后单击“打开日志”。

      日志的最新数据在底部,日志按日期、时间、一些数字和括号中的文本组织,可能会说“注意”或“错误”。一个说“错误”的可能是导致问题的原因。

      对我来说,我的错误是导致问题的表空间,因此我删除了给定位置的数据库文件。

      注意:用于安装 XAMPP 的表空间文件可能位于不同的位置,但对我来说它们位于 /opt/lampp/var/mysql。我认为这是基于 Debian 的发行版上 XAMPP 的典型特征。此外,我关于在控制面板中单击哪些内容以查看日志的说明可能对您来说有点不同,因为我在基于 Ubuntu 的 Linux 发行版(Feren OS)上运行 XAMPP。

      【讨论】:

        【解决方案6】:

        WAMP 中,右键单击 WAMP 托盘图标,然后将端口从 3308 更改为 3306,如下所示:

        【讨论】:

          【解决方案7】:

          在我更新到 macOS Big Sur 之前,MySQL 运行良好。在我更新到最新版本的 macOS 后,MySQL 没有按预期工作。

          我在 MySQL 配置文件中添加了一个端口(我正在使用 AMPPS,但没关系,找到你的 MySQL 配置文件),它开始工作了。

          /Applications/Ampps/phpMyAdmin/config.inc.php

          来自

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

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

          【讨论】:

            猜你喜欢
            • 2020-02-08
            • 1970-01-01
            • 2018-10-22
            • 1970-01-01
            • 1970-01-01
            • 2017-07-12
            • 2021-07-10
            • 1970-01-01
            • 2018-03-05
            相关资源
            最近更新 更多