Невозможно создать подготовленную базу данных MySql, используя docker -compose - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь создать подготовленную Mysql БД с использованием Docker compose, в результате создается база данных " INTERVIEW " и дается имя пользователя " ADMIN " доступ к нему.

Для этой цели папка setup_scripts содержит скрипт sql ( create_user. sql), как показано ниже для предоставления доступа:

grant all privileges on INTERVIEW.* to 'ADMIN'@'%' with grant option;
FLUSH PRIVILEGES;

Файл docker compose:


services:
  db:
    image: mysql:8.0.17
    restart: always
    env_file:
      - .env
    ports:
      - '32768:3306'
    volumes:
      - "./my-db-data:/var/lib/mysql"
      - "./setup_scripts:/docker-entrypoint-initdb.d"

volumes:
  my-db:

И файл .env:

MYSQL_DATABASE='INTERVIEW'
MYSQL_USER='ADMIN'
MYSQL_PASSWORD='password'
MYSQL_ROOT_PASSWORD='password'

При составлении docker появляется следующая ошибка, но я не могу для отладки источника проблемы:

ОШИБКА 1064 (42000) в строке 5: в синтаксисе SQL возникла ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '' '' в строке 1

Есть ли способ просмотреть подробные журналы для запуска базы данных, чтобы понять файл, в котором возникает ошибка?.

1 Ответ

0 голосов
/ 18 апреля 2020

Проблема была с объявлением env-файла:

должно быть как показано ниже:

env_file:
      - ./.env
...