mongodb 忘记管理员用户密码,如何创建新的数据库?

2023-05-03  本文已影响0人  杜金华

E QUERY [js] Error: couldn't add user: command createUser requires authentication :

_getErrorWithCode@src/mongo/shell/utils.

问题描述:今天需要重新部署一套程序,保持原来的不变,需要重新建立mongo数据库,在这里发现新数据库无法创建成功?

1、登录 mongo数据库

cd /usr/local/mongoDB/mongodbsoft/bin   执行命令     ./mongo  进入mongo

2、创建新的数据库xxxxxx

use xxxxxx(自己的数据库名称

3、对新数据库xxxxxx创建新的管理用户--失败

db.createUser({user:"root",pwd:"1111111",roles:[{role:"dbOwner",db:"xxxxxx"}]})

报错: E QUERY [js] Error: couldn't add user: command createUser requires authentication :   _getErrorWithCode@src/mongo/shell/utils.

这里是没有登录管理员用户,但是这个上面安装的mongo已经很久了,不记得管理员用户了,怎么办?

use admin

db.auth('oneadmin','123456')      Error: Authentication failed.  0

4、采用非--auth启动数据库

停止mongod

/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf --shutdown

启动mongod 非--auth

/usr/local/mongodb/bin/mongod  --config /usr/local/mongodb/conf/mongodb.conf

5、创建管理员用户

cd /usr/local/mongoDB/mongodbsoft/bin   执行命令     ./mongo  进入mongo

use admin

db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});

新创建管理员用户成功

管理员登录

db.auth('admin','123456')

管理员登录成功

6、改为--auth启动,并重新创建新数据库及数据库用户

停止mongod

/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf --shutdown

启动mongod 

/usr/local/mongodb/bin/mongod --auth  --config /usr/local/mongodb/conf/mongodb.conf

use xxxxxx

db.createUser({user:"root",pwd:"1111111",roles:[{role:"dbOwner",db:"xxxxxx"}]})

新数据库及用户创建成功

show users;

数据库和用户已创建成功。

上一篇 下一篇

猜你喜欢

热点阅读