【发布时间】:2020-03-29 14:45:23
【问题描述】:
尝试从 php 脚本连接时,我不断收到“SQLSTATE[HY000] [2002] 连接被拒绝”。
我可以通过以下方式连接到 mysql:/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot
设置是: Mamp Pro 版本:5.5.1 PHP版本:7.3.8 MySql 版本:5.7.26 检查运行状况报告:MySQL 正在运行并接受连接。 连接未使用加密。
这是脚本:
<?php
$dsn = "mysql:host=127.0.0.1;dbname=myDatabase;charset=utf8mb4";
try {
$pdo = new PDO($dsn, "root", "root");
} catch (Exception $e) {
error_log($e->getMessage());
exit('Something weird happened'); //something a user can understand
}
如果我在 $dsn 中使用 localhost 而不是 127.0.0.1,我会得到:SQLSTATE[HY000] [2002] No such file or directory
任何想法将不胜感激。
【问题讨论】:
-
你检查服务是否正在运行?
-
我可以使用mysql命令行连接:Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot
-
尝试输入命令use myDatabase;。还要检查该数据库的用户 root 的授权。你应该检查系统 abd php 错误
-
@nbk 您对“使用 myDatabase”的建议让我意识到我剪切/粘贴了错误的示例。更正数据库名称解决了这个问题。谢谢你的主意。如果你想把它变成一个答案,我会把它归功于你。再次感谢。