简体   繁体   English

将mysql导入正在运行的docker容器中不起作用

[英]Import mysql into running docker container not working

I'm probably missing the obvious, but I have been scratching my head for hours now. 我可能错过了明显的地方,但是现在已经好几个小时了。

My docker-compose.yml 我的docker-compose.yml

version: '3' 
services:
  db:
    image: 'bitnami/mariadb:latest'
    container_name: mariadb
    restart: always
    ports:
      - '3306:3306'
    volumes:
      - ./mysql:/bitnami
      - ./backup:/docker-entrypoint-initdb.d
   networks:
     - default
  environment:
    - MARIADB_ROOT_PASSWORD=root
    - MARIADB_DATABASE=mydb

Works just fine. 效果很好。 Starting up is also no problem. 启动也没有问题。 Once it's running I do 一旦运行,我就开始

docker exec -i mariadb mysql -uroot -proot mydb < backup/all.sql

No error, nothing, but it's not doing the import. 没错,没事,但是它没有在做导入。 When I take the long way: 当我走很长的路时:

docker exec -it mariadb bash
mysql -uroot -proot mydb < /docker-entrypoint-initdb.d/all.sql

it works as expected. 它按预期工作。 What am I not seeing? 我没看到什么?

I checked your similar commands, and so far I would say, it should work. 我检查了您的类似命令,到目前为止,我认为它应该可以工作。 Heres my working samples: 这是我的工作样本:

> echo select now() | docker exec -i mariadb mysql -uroot -proot mydb
now()
2018-04-20 21:32:38

> echo create table foo (x integer) | docker exec -i mariadb mysql -uroot -proot mydb

> echo describe foo | docker exec -i mariadb mysql -uroot -proot mydb
Field   Type    Null    Key     Default Extra
x       int(11) YES             NULL

So I would say your commands are correct. 所以我会说您的命令是正确的。 Maybe the issue is in backup/all.sql ? 也许问题出在backup / all.sql中?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM