在带有MAMP的Mac上出现“ db:SQLSTATE [HY000] [2002]连接被拒绝”错误

刘建平

我正在尝试运行此PHP数据库搜索和替换脚本的CLI版本,但是我认为这是与Mac OS X和MAMP有关的更常见的MySQL问题。每当我尝试在本地运行CLI脚本时,都会收到以下错误消息:

db: SQLSTATE[HY000] [2002] Connection refused

这是我正在运行的命令:

./srdb.cli.php -h 127.0.0.1 -u root -n mydbname -proot -c utf\-8 -s mywebsite.com -r dev.mywebsite.com

我尝试过的

  • 我能够使用这些设置连接到mysql,没问题,使用mysql -u root -proot等...
  • 为localhost交换127.0.0.1会出现相同的错误。
  • 我所有的my.cnf文件都是空白。
  • Apache和MySQL运行正常。
  • 我已成功在另一台运行MAMP的Mac上复制了此问题

我正在使用这个mysql:/ Applications / MAMP / Library / bin / mysql

这是php:/Applications/MAMP/bin/php/php5.3.28/bin/php

有人有什么想法吗?谢谢!

编辑

这是显示脚本如何连接到MySQL的源代码:https : //github.com/interconnectit/Search-Replace-DB/blob/master/srdb.cli.php

依次导入以下内容:

https://github.com/interconnectit/Search-Replace-DB/blob/master/srdb.class.php

z80crew

就像我在评论中已经提到的那样,很有可能您没有运行您认为正在运行的PHP二进制文件。即使MAMP php二进制文件在您的路径中,shebang行也会srdb.cli.php读取,#!/usr/bin/php并且该行指向Apple提供的php二进制文件。

因此,如果您使用MAMP php二进制文件的完整路径调用脚本,则应避免出现此问题:

/Applications/MAMP/bin/php/php5.3.28/bin/php srdb.cli.php -h 127.0.0.1 -u root -n mydbname -proot -c utf\-8 -s mywebsite.com -r dev.mywebsite.com

另一个解决方案可能是将shebang行替换为:

#!/usr/bin/env php

仅当MAMP二进制文件位于$ PATH前面的$ PATH中时,此方法才有效/usr/bin#!/usr/bin/env php但是,使用确保,无论通过./srdb.cli.php或与调用脚本,都始终使用相同的二进制文件php srdb.cli.php

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有 PHP 的 MariaDB:SQLSTATE[HY000] [2002] 连接被拒绝

PHP连接失败:SQLSTATE [HY000] [2002]连接被拒绝

Laravel SQLSTATE [HY000] [2002]连接被拒绝| 锻造 AWS

Laravel Nova + Homestead SQLSTATE [HY000] [2002]连接被拒绝

RDS Laravel SQLSTATE[HY000] [2002] 连接被拒绝

Laravel 7 SQLSTATE [HY000] [2002]连接被拒绝

Gitlab CI Symfony:SQLSTATE [HY000] [2002]连接被拒绝

Laravel:SQLSTATE [HY000] [2002]连接被拒绝

PHP PDO:SQLSTATE [HY000] [2002]连接被拒绝

Laravel SQLSTATE [HY000] [2002]连接被拒绝,但修改过

PHP + MYSQL + Laravel - “SQLSTATE[HY000] [2002] 连接被拒绝”

SQLSTATE[HY000] [2002] 连接被拒绝 Laravel 8

SQLSTATE [HY000] [2002]连接被拒绝。Laravel API使用WSL2 Ubuntu 18.04托管在Docker上

php artisan migration命令错误:Illuminate \ Database \ QueryException:SQLSTATE [HY000] [2002]连接被拒绝

如何修复 Laravel 中的“SQLSTATE[HY000] [2002] 连接被拒绝”错误(docker 中的工匠迁移)

Xampp Linux:PDOException:SQLSTATE [HY000] [2002]在lock_may_be_available()错误中拒绝连接

使用Docker我收到错误:“ SQLSTATE [HY000] [2002]没有这样的文件或目录”

SQLSTATE [HY000] [1040]连接太多

CakePHP SQLSTATE [HY000] [14]错误

Laravel 5.7 SQLSTATE[HY000] [2002] 无法建立连接

SQLSTATE[HY000] [2002] 无法建立连接

在托管项目上发送项目后,Symfony 5 SQLSTATE [HY000] [2002]

SQLSTATE [HY000] [2002]没有这样的文件或目录

SQLSTATE [HY000] [2002] yii2中没有这样的文件或目录

PDOException SQLSTATE [HY000] [2002]没有这样的文件或目录

消息为“ SQLSTATE [HY000] [2002]的“ PDOException”没有指向主机的路由

SQLSTATE [HY000] [2002]没有这样的文件或目录,但文件存在

Laravel 6.0 迁移 - SQLSTATE[HY000] [2002] 没有这样的文件或目录

Laravel 4和宝塔:[PDOException] SQLSTATE [HY000] [2002]没有这样的文件或目录