生产环境
配置
第一次登录不启动授权(mongodb默认不启动授权设置),切换路径到mongodb的bin路径下,启动mongo数据库
1 ./mongod --dbpath=/home/db/data --logpath=/home/db/logs/mongodb.log接着连接数据库
1 ./mongo切换到admin数据库
1 use admin创建用户coderhuang,并且赋予root角色(需要注意的是当mongodb启用授权后,只有root这个角色能够关闭数据库)
1
2
3
4
5
6
7 db.createUser(
{
user: "coderhuang",
pwd: "123456",
roles: [ { role: "root", db: "admin" } ]
}
)接着切换到我们的业务数据库db_test
1 use db_test为我们的业务数据库添加coder用户,并且赋予readWrite角色(读写权限)
1
2
3
4
5
6
7
8
9 db.createUser(
{
user: "coder",
pwd: "111111",
roles: [
{ role: "readWrite", db: "db_test" }
]
}
)到这里授权用户设置已经完成了,接着我们关闭数据库再启动
1
2 db.shutdownServer();
./mongod --auth --dbpath=/home/db/data --logpath=/home/db/logs/mongodb.log注意到这次的启动增加了 auth参数,表明需要授权验证后才能访问数据库,接着我们连接数据库
1 ./mongo切换到admin数据库
1 use admin接着我们查看当前数据库的集合
1 show collections发现报错,提示未授权,这是输入我们之前的授权账号跟密码
1 db.auth('coderhuang','123456')如果返回1 则表示授权成功,再输入之前的命令则可以查看到当前的集合数据,同样的方式用于验证db_test数据库,这里不作重复了