Mysql 驱动程序中发生异常:SQLSTATE[HY000][2002]连接被拒绝

Mysql 驱动程序中发生异常:SQLSTATE[HY000][2002]连接被拒绝,mysql,symfony,docker,Mysql,Symfony,Docker,我对docker和symfony访问mysql有问题 要尝试通过连接到php容器来查询mysql,请执行以下操作: docker exec-it symfony_php bash 然后执行以下命令: bin/控制台原则:数据库:创建 这是我收到以下错误消息的地方: 驱动程序中发生异常:SQLSTATE[HY000][2002]连接被拒绝 下面是我的“docker compose.yml”代码: 以下是my.env的代码: 数据库地址=mysql://root:root@127.0.0.1:330

我对docker和symfony访问mysql有问题

要尝试通过连接到php容器来查询mysql,请执行以下操作:

docker exec-it symfony_php bash

然后执行以下命令:

bin/控制台原则:数据库:创建

这是我收到以下错误消息的地方:

驱动程序中发生异常:SQLSTATE[HY000][2002]连接被拒绝

下面是我的“docker compose.yml”代码:

以下是my.env的代码:

数据库地址=mysql://root:root@127.0.0.1:3306/s4


您正在尝试连接到
root:root
,但您的用户是
sf4
。尝试:

DATABASE_URL=mysql://sf4:sf4@127.0.0.1:3306/s4
还可以尝试从命令行连接,以确保它实际工作


编辑:刚刚意识到,
连接被拒绝
通常是在它未运行时,而不是用户/密码错误。检查MySQL是否正在运行。

是否尝试将内部标识符用作MySQL主机

DATABASE_URL=mysql://root:root@symfony_mysql:3306/s4
DATABASE_URL=mysql://root:root@mysql:3306/s4
我认为127.0.0.1在容器中不起作用


您还可以尝试使用您的“外部”IP或URL,因为您已经公开了端口3306。

我尝试使用以下命令连接到docker容器中的mysql:symfony_mysql:docker exec-it symfony_mysql bash-Then:mysql这就是它显示给我的:root@099870f6d0fd:/#mysql错误1045(28000):用户'root'@'localhost'的访问被拒绝(使用密码:是),因此我键入密码:“root”,然后我就可以毫无问题地访问mysql了。因此,我认为在这个级别上没有问题。phpmyadmin使用mysql作为主机,因此这可能是正确的主机名。是的,它与以下行配合得很好:DATABASE\u URL=mysql://root:root-symfony\u mysql:3306/s4非常感谢!
DATABASE_URL=mysql://root:root@symfony_mysql:3306/s4
DATABASE_URL=mysql://root:root@mysql:3306/s4