我曾在慕课网上学习mongodb,照搬老师所写的代码,发现无论如何无法实现用户账号密码登录数据库,于是我花了大量的时间查看官方API 。得到了以下总结。
1.首先开启mongod服务
> mongod --port 27017 --dbpath /data/db1
2.连接数据库
> mongo --port 27017
3.创建用户
> use admin
> db.createUser( { user: "admin",pwd: "123",roles: [ { role: "userAdminAnyDatabase",db: "admin" } ] })
4.关闭mongod服务
> use admin
> db.shutdownServer()
5.这时重新启动mongod服务,添加 --auth 开启权限认证。
> mongod --port 27017 --dbpath /data/db1 --auth
--这时我们有两种用户登录数据库的方式
6.1 方式一 :在连接服务器的同时进行用户认证
> mongo --port 27017 -u "admin" -p "123" --authenticationDatabase "admin"
6.2 方式二 :先连接服务器,然后在数据库内认证。
> mongo --port 27017> use admin> db.auth("admin","123")