首页 > 解决方案 > 更新 MAMP 后在 Mac 上出现“db: SQLSTATE[HY000] [2002] Connection denied”错误

问题描述

我正在运行旧版本的 MAMP,发现无法安装当前版本的 Wordpress,因为它至少需要 PHP 5.2 版,所以我更新了现在运行 7.4.2 的 MAMP。在我尝试在项目中使用互连的Search-Replace-DB之前,更新似乎一切正常(站点正在运行)。使用 GUI,我收到了 AJAX 错误。如果出现 AJAX 错误,我应该按照 cli 说明进行操作;但是当我这样做时,无论我采用哪种方法,我都会遇到以下两个错误之一:

db: SQLSTATE[HY000] [2002] Connection refused db: SQLSTATE[HY000] [2002] No such file or directory

我的 wp-config.php 看起来像:


/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', 'root');

/** MySQL hostname */
define('DB_HOST', '127.0.0.1');

我在使用 MAMP 的 Mac 上阅读了一个 SO 帖子,出现“db: SQLSTATE[HY000] [2002] Connection denied”错误,并尝试建议将 '#!/usr/bin/php -q' 行替换为 '#!/ rdb.cli.php 文件中的 usr/bin/env php -q'。

我尝试过的 cli 命令: //posts 建议使用 8889,但我的 mamp 似乎在 :8888 上运行?

//using localhost string
php srdb.cli.php -h localhost -n test -u root -proot -s oldname.org -r localhost:8889 -v true -z

//using ip
php srdb.cli.php -h 127.0.0.1 -n test -u root -proot -s oldname.org -r localhost:8889 -v true -z

//using localhost string
php srdb.cli.php -h localhost -n test -u root -proot -s oldname.org -r localhost:8888 -v true -z

//using ip
php srdb.cli.php -h 127.0.0.1 -n test -u root -proot -s oldname.org -r localhost:8888 -v true -z

//Using path explicitly with ip
/Applications/MAMP/bin/php/php7.4.2/bin/php srdb.cli.php -h 127.0.0.1 -u root -n test -proot -s oldname.org -r localhost:/8888

改行srdb.cli.php后,还是无法连接。在这一点上,我不知道是 php 还是 mysql 有问题,数据库是否损坏,或者更新 MAMP 后环境变量/路径/链接是否关闭,或者如何确定这些事情。任何见解将不胜感激。

标签: sqlmamp

解决方案


对于遇到此问题的其他任何人,指定 MAMP php 二进制文件(将执行脚本)和 cli 中的 search-replace-db 脚本的完整位置路径解决了该问题。我把要搜索的字符串放在引号中。我还增加了 wp-config.php 中的 php 超时限制: set_time_limit(3000);

请注意,您指定 localhost 的方式应该在传递给脚本的选项和 wp-config.php 文件中的内容之间保持一致(如果您在 wp-config 中使用 localhost,则在脚本中也使用 localhost)

/Applications/MAMP/bin/php/php7.4.2/bin/php /Applications/MAMP/htdocs/test/Search-Replace-DB-master/srdb.cli.php -h localhost -u root -proot --port 8889 -n test -s "http://olddomain.com" -r "http://localhost:8888/test" -v true```

推荐阅读