在使用mongodb时,我不小心丢弃了'admin'db。现在我无法访问任何数据库。
replicaSet1:PRIMARY> db.auth("root","root")
1
replicaSet1:PRIMARY> db.dropDatabase()
{ "dropped" : "admin", "ok" : 1 }
replicaSet1:PRIMARY> db.auth("root","root")
Error: Authentication failed.
0
答案 0 :(得分:1)
按照以下步骤使用admin用户恢复管理员数据库和访问其他数据库:
(1)使用密钥文件将本地数据库与系统用户连接。
mongo -u __system -p" $(tr -d' \ 011- \ 015 \ 040'< path-to-keyfile)" --authenticationDatabase local
注意:path-to-keyfile =这是mongo的密钥文件路径。
(2)切换到管理数据库。
使用管理员
(3)使用' dbOwner,readWrite和readAnyDatabase创建管理员用户'作用。
db.createUser({user:" admin",pwd:" cal @ cas",role:[role: " dbOwner",db:" admin" },{role:" readWrite",db:" admin" },{角色: " readAnyDatabase",db:" admin" }]});
(4)使用以下命令查看数据库列表。
显示dbs;