这是我的设置
使用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(完美运行)
现在,在还原到其他数据库时发生了问题
mongorestore --db测试./dump/DEV-抛出以下错误
失败:test.duke:错误读取数据库:未经测试授权执行命令{listCollections:1,游标:{batchSize:0}}
现在停留了三天,我们将不胜感激(docker和mongodb的初学者)
答案 0 :(得分:0)
如果您的其他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