首页 > 解决方案 > MAMP - SQLSTATE[HY000] [2002] 连接被拒绝

问题描述

我在这里完全糊涂了。我在 iMac 上有 MAMP,它说 MySQL 正在运行。当我尝试通过 Sequel Pro 访问它时,我可以使用套接字选项进行连接

在此处输入图像描述

但是,如果我尝试使用标准方法进行连接,则会收到“连接被拒绝”

**在此处输入图片描述**

在此处输入图像描述

当我尝试使用 PHP 连接时,我收到连接被拒绝的消息

$db = new PDO("mysql:host=127.0.0.1:8889;dbname=wabie_centraldb", "root", "root", array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET sql_mode=""') );

我很困惑,因为显然 mysql 正在运行(因为我可以通过一种方式连接)。

我的 MacBook 上的设置相同,而且一切正常

有什么建议么?

非常感谢!

标签: phpmysqlmamp

解决方案


MySQL 的标准端口是 3306,不需要在连接中指定:

$db = new PDO("mysql:host=127.0.0.1;dbname=wabie_centraldb", "root", "root", array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET sql_mode=""') );

要指定数据库连接端口,请使用以下 DSN 字符串:

$db = new PDO("mysql:host=127.0.0.1;port=3306;dbname=wabie_centraldb", "root", "root", array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET sql_mode=""') );

您可以使用标准连接在 Sequel Pro 中测试 3306。此外,您可能需要将主机从 更改为127.0.0.1localhost具体取决于您的设置方式。


推荐阅读