MySQL错误mysqli :: __ construct():( HY000 / 2002):拒绝连接

时间:2018-06-15 18:48:33

标签: php mysql mysqli pdo

我正在尝试运行包含MySQL连接的PHP脚本,当我运行命令时,我在终端中收到以下错误:

'Warning: mysqli::__construct(): (HY000/2002): Connection refused'

即使使用PDO,我也会收到错误:

'Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in ...'

我在Mac OS X上运行脚本,我将MAMP作为APACHE / MySQL本地服务器。

我用来运行脚本的命令是:

'php main.php'

,带有PDO的'main.php'文件的内容是:

$db = new PDO('mysql:host=localhost;dbname=test',root,root);

使用mysqli连接器:

$db = new mysqli("localhost", "test", "root", "root");

我尝试使用'127.0.0.1'而不是'localhost',我在两种情况下都会遇到相同的错误。

1 个答案:

答案 0 :(得分:-1)

首先,使用localhost作为域名是not supported in PHP。它将解析为127.0.0.1

第二,即使使用127.0.0.1也可能无法在具有多个接口或特殊路由规则的服务器中使用。运行mysqlcheck --help,并获取“主机”字段底部显示的IP地址。例如:

port                              3306
host                              192.168.1.23

使用MySQL可以识别的IP和端口:

$db = new mysqli("192.168.1.23:3306", "test", "root", "root");