【问题标题】:MongoDB with Docker container, not able to restore database with different name using mongorestore带有 Docker 容器的 MongoDB,无法使用 mongorestore 恢复具有不同名称的数据库
【发布时间】:2019-01-28 02:22:25
【问题描述】:

这是我的设置

使用 docker 创建 mongodb 实例

sudo docker run -p 27017:27017 -e MONGODB_DATABASE=DEV -e MONGODB_USER=dev -e MONGODB_PASSWORD=dev123 -e MONGODB _ADMIN_PASSWORD=dev123 -e MONGODB_ROLE=readWriteAnyDatabase --name mymongo -v testdb:/var/lib/ mongodb/data -d mongo

使用进入容器

sudo docker exec -it container-id /bin/bash

执行的命令

mongodump -d DEV -u dev -p dev123(完美运行)

现在 ISSUE 在恢复到不同的数据库时发生

mongorestore --db test ./dump/DEV -- 抛出错误

失败:test.duke:错误读取数据库:未授权测试执行命令 { listCollections: 1, cursor: { batchSize: 0 } }

现在卡了 3 天,任何帮助将不胜感激(docker 和 mongodb 的初学者)

【问题讨论】:

    标签: mongodb docker


    【解决方案1】:

    如果您的其他 mongo 数据库具有身份验证,那么您应该使用:

    mongorestore -u <username> -p <password> --authenticationDatabase=<database name> --db=test ./dump/DEV
    

    其他建议是创建像这样的转储:

    mongodump --port 55555 -d testdb --gzip --archive=testdb.tar
    

    然后像这样恢复:

    mongorestore --port 55555  --gzip --archive=testdb.tar
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-14
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      • 2019-05-27
      相关资源
      最近更新 更多