Импортируйте файлы SQL в MySQL с помощью Docker Compose.

Чтобы импортировать файл SQL в MySQL с помощью Docker Compose, вы можете использовать несколько методов. Вот несколько примеров:

Метод 1: использование смонтированного тома

version: '3'
services:
  mysql:
    image: mysql
    volumes:
      - ./path/to/sql/file.sql:/docker-entrypoint-initdb.d/file.sql
    environment:
      - MYSQL_ROOT_PASSWORD=your_password

В этом методе вы подключаете каталог, содержащий файл SQL, в каталог /docker-entrypoint-initdb.dвнутри контейнера MySQL. Когда контейнер запускается, MySQL автоматически выполняет все файлы SQL, присутствующие в этом каталоге.

Способ 2: использование команды mysql

version: '3'
services:
  mysql:
    image: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=your_password
    command: mysql -u root -p your_database < /path/to/sql/file.sql

В этом методе вы передаете команду mysqlв качестве команды контейнера, указывая базу данных и файл SQL для импорта.

Метод 3. Использование специального сценария инициализации

version: '3'
services:
  mysql:
    image: mysql
    volumes:
      - ./path/to/init_script.sql:/docker-entrypoint-initdb.d/init_script.sql
    environment:
      - MYSQL_ROOT_PASSWORD=your_password
    command: --init-file /docker-entrypoint-initdb.d/init_script.sql

В этом методе вы создаете собственный сценарий инициализации (например, init_script.sql), который содержит операторы SQL, которые вы хотите импортировать. Вы монтируете этот сценарий в каталог /docker-entrypoint-initdb.d, а затем предоставляете параметр --init-fileдля выполнения сценария при запуске контейнера.

Это всего лишь несколько примеров того, как можно импортировать файл SQL в MySQL с помощью Docker Compose. Выберите метод, который лучше всего соответствует вашим потребностям, и настройте пути и имена файлов в соответствии с вашими настройками.