mongdb 4.x admin密码忘记,如何 重建admin用户
在mongo db中,或mongo db cluser中,如果admin密码忘记了,必须按下面的步骤来做。 思路为注释掉security认证部分,重启mongo server, 重建admin用户,再打开security,重启mongo server,就OK了
在MongoDB 4.x 复制集 replica set (即master 和 slave)架构中, 用下面的步骤即可完成。
在主和从mongo DB servers上,执行 1) vi /etc/mongod.conf 注释下面的内容 #security: # clusterAuthMode: keyFile # keyFile: /data/mongodb/key/repl_set.key # authorization: enabled 然后重新启动 mongodb servers 2) systemctl restart mongod
在主 mongo DB server上执行 3) 连接到 mongo db primary (master) mongo --host <master MongoDB IP> MongoDB shell version v4.0.3 connecting to: mongodb://10.80.2.232:27017/ Implicit session: session { "id" : UUID("08e62bd1-15e3-4230-bd70-4a1bf2808478") } MongoDB server version: 4.0.3 bpmRepSet:PRIMARY>
4) 执行下面的操作去重新建立admin用户 use admin db.system.users.find() db.dropUser("admin") db.system.users.remove({user:"admin"}) db.createUser({user:"admin",pwd:"irootech123",roles:["readWrite"]}) db.grantRolesToUser("admin",[{ role: "clusterAdmin", db: "admin" }]); db.grantRolesToUser("admin",[{ role: "userAdminAnyDatabase", db: "admin" }]); db.grantRolesToUser("admin",[{ role: "root", db: "admin" }]);
在主和从 mongo DB servers上,执行 5) vi /etc/mongod.conf //打开下面的内容 security: clusterAuthMode: keyFile keyFile: /data/mongodb/key/repl_set.key authorization: enabled 然后重新启动 mongodb servers 6) systemctl restart mongod
在 主 mongoDB server上, 执行 7) 连接到 mongo db primary (master)上
mongo --host <master MongoDB IP> > use admin > db.auth("admin","irootech123")
如果允许slave 读操作,则在slave上执行 rs.slaveOk(); 就OK
在mongo db中,或mongo db cluser中,如果admin密码忘记了,必须按下面的步骤来做。 思路为注释掉security认证部分,重启mongo server, 重建admin用户,再打开security,重启mongo server,就OK了 在MongoDB 4.x 复制集 replica set (即master 和 slave)架构中, 用下面的步骤即可完成。 在主和从mongo DB servers上,执行 1) vi /etc/mongod.conf 注释下面的内容 #security: # clusterAuthMode: keyFile # keyFile: /data/mongodb/key/repl_set.key # authorization: enabled 然后重新启动 mongodb servers 2) systemctl restart mongod 在主 mongo DB server上执行 3) 连接到 mongo db primary (master) mongo --host