为了账号安全,请及时绑定邮箱和手机立即绑定

docker中的Mysql连接拒绝

docker中的Mysql连接拒绝

PHP
潇湘沐 2021-07-09 13:00:41
所以我正在创建一个新的 symfony 4 项目,但我无法让 mysql 连接到我的 docker mysql。我做错了什么?我试过更改 mysql 版本,将其组合起来并更新不同的 mysql 根和密码,但没有连接。这是我用于 mysql 的 docker-compose.yml。mysql:        image: mysql:8        container_name: sf4_mysql        volumes:            - .docker/data/db:/var/lib/mysql        command:            - "--default-authentication-plugin=mysql_native_password"            - "--lower_case_table_names=1"                environment:            MYSQL_ROOT_PASSWORD: root            MYSQL_DATABASE: sf4            MYSQL_USER: sf4            MYSQL_PASSWORD: sf4这是我的 .env DATABASE_URL=mysql://sf4:sf4@sf4_mysql:3306/sf4 中的 mysql Url每次我做 ./bin/console 原则:数据库:创建,连接被拒绝。只是试图创建一个数据库。控制器class HospitalAdminController extends AbstractController{    /**     * @Route("/admin/hospital/new")     */    public function new(EntityManagerInterface $em)    {        $hospital = new Hospital();        $hospital->setName('Example Hospital')            ->setPhone(8175831483)            ->setAddress('123 Avenue');        $em->persist($hospital);        $em->flush();        return new Response(sprintf(            'Hiya! New Hospital id: #%d phone:%s address%s',            $hospital->getId(),            $hospital->getPhone(),            $hospital->getAddress()        ));}
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

您需要公开 mysql 端口。默认为 3306。请参阅端口发布

以及更多特定于docker 上的 mysql-8 的示例

为了检查 mysql 是否正在运行,最好在其客户端的终端内运行,这样可以最大限度地减少数据库本身的潜在错误源,不包括 php 中的潜在错误。


查看完整回答
反对 回复 2021-07-16
  • 1 回答
  • 0 关注
  • 478 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信