【问题标题】:Symfony 5 : An exception occurred in driver: SQLSTATE [HY000] [2002] Connection refusedSymfony 5:驱动程序中发生异常:SQLSTATE [HY000] [2002] Connection denied
【发布时间】:2026-01-08 10:40:01
【问题描述】:

我遇到了 symfony 的问题,这与 Symfony 现在默认使用 postgressSQL 而不是 MySQL 的事实有关。

由于我想使用 MySQL,我在 .env 中更改了以下内容

# DATABASE_URL="mysql://root:@127.0.0.1:3306/evergirls?serverVersion=5.7"
DATABASE_URL="mysql://root:@127.0.0.1:5432/evergirls?serverVersion=13&charset=utf8"

但是当我尝试运行命令时:

php bin/console doctrine:database:create

我收到以下消息:

在 AbstractMySQLDriver.php 第 112 行:

驱动发生异常:SQLSTATE[HY000] [2002] No connexion 可能已创建为目标计算机拒绝它。 (从法语翻译)

等等……同样的消息在其他几行重复。

连接数据(用户名和密码)正确。

正如我在另一篇文章中发现的那样,我尝试更改端口:

@127.0.0.1:3306

通过

symfony_mysql:3306/s4

和通过

mysql:3306/s4

喜欢这篇文章中的建议:An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused

知道怎么解决吗?

【问题讨论】:

    标签: php symfony5


    【解决方案1】:

    首先,您需要在您的问题中指定您如何提供 MySQL 服务器 - 它是独立服务器还是 docker 容器?是在同一台机器上吗?它实际使用什么端口?

    如果您使用 docker-compose,正确的端口将是在端口绑定中指定为主机端口的端口,而不是容器端口。

    如果它是独立服务器 - 是否在同一台机器上 - 尝试通过控制台连接到它。也许它根本不接受连接?

    请向我们提供更多信息,这将有助于确定您的问题的根源。

    【讨论】:

    【解决方案2】:

    你的mysql服务器的端口是什么?3306还是5432?
    确保 mysql 服务器正在运行。

    否则,您可以使用以下方法进行测试:

    DATABASE_URL=mysql://root@localhost:3306/evergirls
    

    【讨论】:

      最近更新 更多