Отказ в соединении Mysql в докере - PullRequest
1 голос
/ 27 мая 2019

Итак, я создаю новый проект Symfony 4, но я не могу получить mysql для подключения к моему докеру mysql. какую часть я делаю не так?

Я пытался изменить версии mysql, скомпоновал его и обновил другой root и пароль mysql и не подключается.

вот мой docker-compose.yml для mysql.

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

Вот MySQL URL в моем .env DATABASE_URL = MySQL: // SF4: SF4 @ sf4_mysql: 3306 / SF4

каждый раз, когда я делаю ./bin/console doctrine: database: create, соединение отклонено.

просто пытается создать базу данных.

Контроллер * +1014 *

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 Ответ

1 голос
/ 27 мая 2019

Вам нужно выставить порт mysql. по умолчанию 3306. см. публикация порта

и более примеров, специфичных для mysql-8 на докере

Для проверки, запущен ли mysql, хорошо запустить внутри терминала его клиента, чтобы минимизировать потенциальный источник ошибок для самой базы данных, не включая потенциальные ошибки в php.

...