PHP警告:mysqli_connect():( HY000 / 2002):连接被拒绝

时间:2015-01-12 15:09:23

标签: php mysql mamp

我正在使用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中设置一些配置问题?

7 个答案:

答案 0 :(得分:21)

如果有其他人遇到此问题,MAMP for mysql的默认端口是8889,但php期望用于mysql的端口是3306。因此,您需要打开MAMP,转到首选项,并将MAMP mysql端口更改为3306,然后重新启动mysql服务器。现在连接应该成功使用host = localhost,user = root,pass = root。

答案 1 :(得分:7)

有时您需要在服务器中包含mysql db port id。

   ==========================================
   |table_no | total_call_count | total_time|
   ==========================================
   |   1     |       4          |    24     |

答案 2 :(得分:1)

您必须将mamp Mysql数据库端口更改为8889.

答案 3 :(得分:0)

让我再次使用它我刚刚删除了文件

  

ib_logfile0

  

ib_logfile1

来自:

/Applications/MAMP/db/mysql56/ib_logfile0 

Mac 10.13.3
MAMP:版本4.3(853)

答案 4 :(得分:0)

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

日志的最新数据在底部,日志按日期,时间,一些数字和方括号中的文本(可能显示“ Note”或“ Error”)进行组织。出现“错误”的提示很可能是造成此问题的原因。

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

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

答案 5 :(得分:0)

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

enter image description here

答案 6 :(得分:0)

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

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

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

来自

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

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