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

jyztefdp  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(228)

我可能忽略了显而易见的事实,但我已经抓狂了好几个小时了。
我的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

很好用。启动也没问题。一旦它运行了,我就会

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

没有错误,没什么,但它没有导入。当我走很远的路时:

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

它按预期工作。我没看见什么?

2w3rbyxf

2w3rbyxf1#

我检查了你的类似命令,到目前为止,我想说,它应该工作。这是我的工作样本:

> 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

所以我认为你的命令是正确的。也许问题出在backup/all.sql中?

相关问题