首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入data.sql MySQL码头容器

导入data.sql MySQL码头容器
EN

Stack Overflow用户
提问于 2017-05-10 05:18:25
回答 9查看 148.6K关注 0票数 112

如果我有一个data.sql,我如何将数据库导入到我的mysql docker容器中?如何导入数据库数据。在停靠的世界中,这增加了一层复杂性。请给我一些方法。

这里是我的docker-compose.yml:

代码语言:javascript
复制
nginx:
  build: ./nginx/
  container_name: nginx-container
  ports:
    - 80:80
  links:
    - php
  volumes_from:
    - app-data

php:
  build: ./php/
  container_name: php-container
  expose:
    - 9000
  links:
    - mysql
  volumes_from:
    - app-data

app-data:
  image: php:7.0-fpm
  container_name: app-data-container
  volumes:
    - ./www/html/:/var/www/html/
  command: "true"

mysql:
  image: mysql:latest
  container_name: mysql-container
  ports:
    - 3306:3306
  volumes_from:
    - mysql-data
  environment:
    MYSQL_ROOT_PASSWORD: secret
    MYSQL_DATABASE: name_db
    MYSQL_USER: user
    MYSQL_PASSWORD: password

mysql-data:
  image: mysql:latest
  container_name: mysql-data-container
  volumes:
    - /var/lib/mysql
  command: "true"
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2018-04-06 04:14:18

我似乎不能用最新的mysql或mysql:5.7来做这个工作。所以我改用mariaDB。这是我的docker-compose.yaml代码。

代码语言:javascript
复制
version: '3'

services:
  mysql:
    image: mariadb:10.3
    container_name: mariadb
    volumes:
      - container-volume:/var/lib/mysql
      - ./dump.sql:/docker-entrypoint-initdb.d/dump.sql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: name_db
    ports:
      - "3306:3306"

volumes:
  container-volume:
票数 72
EN

Stack Overflow用户

发布于 2017-05-10 16:22:49

您可以在之后导入数据库:

docker exec -i mysql-container mysql -uuser -ppassword name_db < data.sql

票数 182
EN

Stack Overflow用户

发布于 2017-05-10 06:00:17

使用卷挂载将sql-dump挂载到/docker-entrypoint-initdb.d/yourdump.sql

代码语言:javascript
复制
mysql:
  image: mysql:latest
  container_name: mysql-container
  ports:
    - 3306:3306
  volumes:
    - ./dump.sql:/docker-entrypoint-initdb.d/dump.sql
  environment:
    MYSQL_ROOT_PASSWORD: secret
    MYSQL_DATABASE: name_db
    MYSQL_USER: user
    MYSQL_PASSWORD: password

这将在容器启动期间触发sql-dump的导入,请参阅“初始化新实例”下的https://hub.docker.com/_/mysql/

票数 104
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43880026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档