1、连接mongodb数据库(如果mongo命令没有做环境变量配置,需要定位到有mongo命令的目录)
root@AY140709212620347s22Z:~# mongo MongoDB shell version: 2.4.10 connecting to: test
2、切换到admin数据库,并添加管理员,退出(ctrl+c)
> use admin switched to db admin > db.addUser('admin','admin') { "_id" : ObjectId("54a8ced8fda9367f56566c47"), "pwd" : "d4c6323271dbd1b8df4177d6e4ed8718", "readOnly" : false, "user" : "admin" }
3、配置mongodb.conf设置auth=true 重新启动mongodb
4、测试管理员权限
root@AY140709212620347s22Z:~# mongo MongoDB shell version: 2.4.10 connecting to: test > use admin --切换数据库 switched to db admin > show dbs --没授权,展示数据库会报错unauthorized Sun Jan 4 15:24:57.950 listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:46 > db.auth('admin’,’ihejun_123’) --授权成功 1 > show dbs --可以正常访问了
5、继续接上面的步骤,给test数据库添加账号密码
> use test switched to db test > db.addUser('test','123') { "user" : "test", "readOnly" : false, "pwd" : "e10adc3949ba59abbe56e057f20f883e", "_id" : ObjectId("54a8dbefa4c63fa763cfe76c") }
6、其他
修改密码:
方法1:db.addUser('test','123456') //如果没有账号会新增,如果存在账号则会覆盖
方法2:db.changeUserPassword('test','123456')
删除用户:db.system.users.remove({user:"test"});
注意:在nodejs中使用mongoose连接数据库时,密码中不要有@字符。