Mongodb 忘记密码的解决办法

这篇文章主要介绍了Mongodb数据库忘记密码的解决办法,需要的朋友可以参考下。

下午刚设置的密码,当时忘记保存,晚上去吃了个晚饭回来就忘记了。研究了一会发现也不难,按照以下步骤操作即可

操作步骤:

#关闭auth
$ vim ./conf/mongodb.conf          # 修改 mongodb 配置,将 auth = true 注释掉,或者改成 false  port=27017 #端口号
  auth = false #关闭用户认证
  fork=true #以守护进程的方式运行,创建服务器进程
  #master=true #单主从配置时设为主服务器
  #salve=true ##单主从配置时设为从服务器
  logpath=/home/work/mongodb/log/mongod.log #日志输出文件路径
  logappend=true #日志输出方式
  dbpath=/home/work/mongodb/data/mongod #数据库路径
  #replSet=blort #设置副本集的名字
  #shardsvr=true #设置是否分片

#重启mongodb
$ ./bin/mongod -f ./conf/mongod.conf        

#创建用户
 ./bin/mongo 127.0.0.1:27017
$ mongo                          # 运行客户端(也可以去mongodb安装目录下运行这个)
> use admin                      # 切换到系统帐户表
> db.system.users.find()         # 查看当前帐户(密码有加密过)
> db.system.users.remove({})     # 删除所有帐户
> db.createUser({user:'root',pwd:'abc123',roles:['root','userAdminAnyDatabase']}) # 添加root帐户
> use test #在test数据库创建用户test_admin,并给该用户admin数据库上clusterAdmin和readAnyDatabase的角色,test数据库上readWrite角色。
> db.createUser( { "user" : "test_admin",
                 "pwd": "abc123",
                 "customData" : { employeeId: 12345 },
                 "roles" : [ { role: "clusterAdmin", db: "admin" },
                             { role: "readAnyDatabase", db: "admin" },
                             "readWrite"
                             ] },
               { w: "majority" , wtimeout: 5000 } )

#打开auth
$ vim ./conf/mongodb.conf          # 恢复 auth = true
  auth = true #强制用户认证

#重启mongodb
$ ./bin/mongod -f ./conf/mongod.conf --shutdown
$ ./bin/mongod -f ./conf/mongod.conf 

#auth测试
$ ./bin/mongo 127.0.0.1:27017/admin  -u root -p abc123
$ ./bin/mongo 127.0.0.1:27017/test -u test_admin -p abc123

Built-In Roles角色说明:

1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system
*注:每个角色所拥有的操作权限详见官方文档

yan 14.6.5

发表评论

电子邮件地址不会被公开。