MongoDB在非授权模式下启动显然是不安全的,任何人都能通过客户端连接数据库服务器,并且操作里面的所有数据。MongoDB以安全的授权方式启动:
mongod --auth
这样就只有数据库添加的授权用户才能连接数据库,并进行数据操作。
官方给出的用户管理的说明:http://www.mongodb.org/display/DOCS/Security+and+Authentication
添加一个admin超级管理员用户:
> use admin
> db.addUser("oneAdminUser", "123456")
理解成MongoDB把所有的admin管理员添加到了一个admin数据库中进行管理。
用admin用户的身份登陆数据库,给一般的数据添加普通用户:
> use projectx
> db.addUser("joe", "passwordForJoe")
> db.addUser("guest", "passwordForGuest", true)
其中第二个guest用户的readonly属性为true。
查看某个数据库中拥有的所有用户:
> use projectx
> show users
> // or
>db.system.users.find()
给某个用户更改密码也用db.addUser,这个函数会判断用户村不存在,不存在就创建,存在就(密码)替换掉以前的。
删除用户:
> db.removeUser("user1")
> // or
> db.system.users.remove({user:"user2"})
好了,用户添加完了,现在来看这么用mongo 以某个用户的身份登陆MongoDB数据库,首先确保数据库以授权的安全形式启动了,以admin用户的身份登陆
> mongo 192.168.1.154/admin -u oneAdminUser -p 123456
oneAdminUser密码是123456,以admin的身份登陆位于192.168.1.154上的MongoDB数据库。因为是admin用户,登陆进去之后就能进行任何操作。
普通用户登陆普通的数据库的方式类似的:
> mongo 192.168.1.154/projectx -u joe -p passwordForJoe
joe这个用户登陆位于192.168.1.154机器上的projectx数据库。
如果在Java程序中登陆,代码如下:
Mongo mongo = new Mongo("192.168.1.154", 27017);
DB db = mongo.getDB("admin");
db.authenticate("oneAdminUser", "123456".toCharArray());
System.out.println("数据库列表:"+mongo.getDatabaseNames()); //所有有数据的数据库名称
db = mongo.getDB("projectx");
//然后可以对任何数据库进行任何操作
System.out.println(db.command("isMaster"));
DBCollection collection = db.getCollection("onecollection");
collection.find();
普通用户登陆普通数据库:
Mongo mongo = new Mongo("192.168.1.154", 27017);
db = mongo.getDB("projectx");
db.authenticate("guest", "123456".toCharArray());
DBCollection collection = db.getCollection("onecollection");
collection.find();
guest这个用户就只能对projectx这个数据库进行操作了。
分享到:
相关推荐
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
mongod.exe --install --dbpath=d:\mongodb\data --logpath=d:\mongodb\log\log.log -auth -serviceName "serviceName" 2.卸载服务 mongod.exe --remove --serviceName "serviceName" 3.启动服务 ...
MongoDB 安装包 ,包含了单服务器的副本集(Replication)配置(单服务器:Windows)
MongoDB学习MongoDB学习MongoDB学习
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
Node应用程序构建——使用MongoDB和Backbone
网鸟出品 本PPT根据《MongoDB: The Definitive Guide》原版制作而成; 如果有任何疑问请通过微博或QQ反馈给我; 网鸟QQ群 刺客巅峰(47700865) NoSQL(23152359)
从MySQL到MongoDB——视觉中国的NoSQL之路.pdf
一本mongodb书——Mongodb_集群分片部署
MongoDB和Node.js特别般配,因为Mongodb是基于文档的非关系型数据库,文档是按BSON(JSON的轻量化二进制格式)存储的,增删改查等管理数据库的命令和JavaScript语法很像。本文将详细介绍MongoDB数据库 数据库 数据库...
《深入学习MongoDB》
1.1.3MySQL和MongoDB 1.2基本操作 1.2.1常用命令 1.2.2数据类型 1.2.3集合操作 1.2.3.1创建集合 1.2.3.2查看集合 1.2.3.3删除集合 1.2.4注意点 1.3增删改查 1.3.1插入数据 1.3.2查找数据 1.3.3更新数据 1.3.4删除...