MAMP-SQLSTATE [HY000] [2002]连接被拒绝

时间:2020-03-19 13:00:39

标签: php mysql mamp

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

enter image description here

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

**enter image description here**

enter image description here

当我尝试使用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上具有相同的设置,并且一切运行正常

有什么建议吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

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.1更改为localhost