Не удается создать базу данных в docker -entrypoint-initdb.d с контейнером mysql docker - PullRequest
0 голосов
/ 08 апреля 2020

Я создал docker-compose.yml.

version: "3.7"
services:
  db:
    container_name: mysql
    image: mysql
    ports:
      - 3306:3306
    volumes:
      - ./sql:/docker-entrypoint-initdb.d
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_USER : root
      MYSQL_ROOT_PASSWORD: root_pass
      MYSQL_DATABASE: wp1
      MYSQL_USER: wp
      MYSQL_PASSWORD: pass
    restart: always  

И в каталог sql я положил init.sql.

CREATE DATABASE IF NOT EXISTS wp2;

Затем запустите docker-compose up.

В журнале есть запись для сценария инициализации.

mysql | 2020-04-08 02:17:32+00:00 [Note] [Entrypoint]: /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/init.sql

Но база данных wp2 не создана.

$ docker exec -it mysql bash
# mysql -u wp -ppass
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| wp1                |
+--------------------+

Как создать базу данных с mysql сценарием инициализации контейнера?

1 Ответ

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

Ваш wp пользователь не имеет прав доступа к wp2.

Добавить к вашему sql файлу:

GRANT ALL on wp2.* to wp@'%';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...