我知道这是一项基本的安全措施,但我不能使它适用于我的mongodb安装。每次我运行命令时:
mongorestore dump_folder -u "username" -p "password"
它返回:
error reading database: not authorized on DATABASE_NAME to execute command { listCollections: 1, cursor: { batchSize: 0 } }
我的问题是:我需要启用哪些权限以及如何启用?
目前,我只是关闭了/etc/mongod.conf
中Mongo的安全性,并在我恢复/转储数据库后重新启动它。
附加说明: 这就是我准备我的数据库及其用户的方式
并创建一个用户:
use DATABASE001
db.createUser({
user: "USER001",
pwd: "mypassword",
roles:[ { role: "readWrite", db: "DATABASE001" },"dbAdmin" ]
})
对于角色,我将readWrite
添加到DATABASE001以及dbAdmin
我希望这个用户(USER001)能够备份或恢复他的数据库(DATABASE001)。
我使用此命令登录测试了它。它已成功登录
mongo localhost -u USER001 -p mypassword --authenticationDatabase DATABASE001
我想用以下内容转储此数据库内容:
mongodump -u USER001 -p mypassword --authenticationDatabase DATABASE001
它给我一个错误:
Failed: error getting database names: not authorized on admin to execute command { listDatabases: 1 }
这是listDatabases
是什么?如何将其添加到我的角色?
答案 0 :(得分:0)
$ mongorestore --username adminUser --password pass123 --authenticationDatabase admin --db exampleDB dump/exampleDB