Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да инициализирам MySQL база данни със схема в Docker контейнер?

Имах същия проблем, когато исках да инициализирам схемата на моя MySQL Docker екземпляр, но се сблъсках с трудности да накарам това да работи, след като направих малко търсене в Google и следвайки примери на други. Ето как го реших.

1) Изсипете вашата MySQL схема във файл.

mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql

2) Използвайте командата ADD, за да добавите вашия файл със схема към /docker-entrypoint-initdb.d директория в контейнера на Docker. docker-entrypoint.sh файл ще стартира всички файлове в тази директория, завършващи с ".sql" срещу базата данни MySQL.

Dockerfile:

FROM mysql:5.7.15

MAINTAINER me

ENV MYSQL_DATABASE=<schema_name> \
    MYSQL_ROOT_PASSWORD=<password>

ADD schema.sql /docker-entrypoint-initdb.d

EXPOSE 3306

3) Стартирайте екземпляра на Docker MySQL.

docker-compose build
docker-compose up

Благодарение на Настройване на MySQL и импортиране на дъмп в Dockerfile за това, че ме насочихте към docker-entrypoint.sh и факта, че изпълнява както SQL, така и шел скриптове!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да се свържете с база данни с помощта на Workbench MySQL клиента

  2. Не може да се свърже с MySQL сървър грешка 111

  3. Какъв тип/дължина на колона трябва да използвам за съхраняване на хеширана парола на Bcrypt в база данни?

  4. Как лесно да направите прост CRUD, използвайки PHP и MySQL

  5. Най-бързият метод за архивиране и възстановяване на MySQL